nettsiden/README.md

1.8 KiB

General Authorization Code Flow OAuth2-Client

This client is made for Authorization Code Flow and Bearer as authorization option for now.

To use this general OAuth2 client-class, include it with

	require_once('OAuth2Client.php');
	$oauth2 = new OAuth2([
		"client_id" 		 => $client_id,
		"client_secret" 	 => $client_secret,
		"redirect_uri" 		 => $redirect_uri,
		"auth" 				 => $auth,
		"token" 			 => $token,
		"authorization_type" => $authorization_type,
		"session" 			 => $session,
		"verify" 			 => $verify,
		"grant_type" 		 => $grant_type,
		"response_type" 	 => $response_type
	]);

(string) $client_id is client id of the OAuth2 application
(string) $client_secret is client secret of the OAuth2 application
(string) $redirect_uri is the specified redirect-uri for the OAuth2 application
(string) $auth is the full url for authorization
(string) $token is the full token url

Optional -

(string) $authorization_type defaults to Bearer
(boolean) $session specifies whether the state is to be saved in _SESSION storage, defaults to false
(boolean) $verify is whether to verify SSL of host and peer, defaults to true
(string) $grant_type defaults to 'authorization_code'
(string) $response_type defaults to "code"

To start the redirect phase

$oauth2->redirect($state); ($state defaults to false)

To get access token

$oauth2->get_access_token(); returns the access_token.

(Optional value is $state, to check up against _SESSION variables)

To get identity

$oauth->get_identity($access_token, $user_url);

(string) $user_url is the endpoint for fetching info, example: https://auth.dataporten.no/userinfo

returns the identity-object as returned from the OAuth2-provider.