Skip to content

trauma2u/PHPoAuthLib

 
 

Repository files navigation

PHPoAuthLib(KR)

The Forked Project of Lusitanian/PHPoAuthLib for Korean Services

Installation

{
    "repositories": [
        {
            "type": "git",
            "url": "https://github.com/trauma2u/PHPoAuthLib"
        }
    ],
    "require": {
        "lusitanian/oauth": "dev-master"
    }
}

Added Korean Services

  • Daum
  • Kakao
  • Naver

Sample Code

/oauth/credentials.php

return [
    'naver' => [
        'key' => 'naver key',
        'secret' => 'naver secret',
    ],
];

/oauth/naver.php

// credentials
$serviceCredentials = require('credentials.php');
$credentials = new OAuth\Common\Consumer\Credentials(
    $serviceCredentials['naver']['key'], // key
    $serviceCredentials['naver']['secret'], // secret
    'https://onion.world/oauth/token.php' // redirect url
);

// storage
$storage = new OAuth\Common\Storage\Session();

// service
$serviceFactory = new OAuth\ServiceFactory();
/** @var $naverService OAuth\OAuth2\Service\Naver */
$naverService = $serviceFactory->createService('naver', $credentials, $storage);

/oauth/login.php

<a href="/oauth/authorize.php">Login with Naver!</a>

/oauth/authorize.php

require('naver.php');

// authorize
$url = $naverService->getAuthorizationUri();
header("Location: $url");

/oauth/token.php

$code = isset($_GET['code']) ? $_GET['code'] : null;
$state = isset($_GET['state']) ? $_GET['state'] : null;
if (!$code) throw new OAuth\Common\Exception\Exception();

require('naver.php');

// token
$token = $naverService->requestAccessToken($code, $state);

// request
$response = $naverService->request('/do/something');
$data = json_decode($response);

Extensions

About

The Forked Project of Lusitanian/PHPoAuthLib for Korean Services

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • PHP 100.0%