Mainos / Advertisement:

Ero sivun ”OpenID-Connect-PHP” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
Rivi 20: Rivi 20:
  
 
<syntaxhighlight lang="php">
 
<syntaxhighlight lang="php">
$oidc = new OpenIDConnectClient("https://id.provider.com","ClientIDHere","ClientSecretHere"$
+
$oidc = new OpenIDConnectClient("https://id.provider.com","ClientIDHere","ClientSecretHere"
 +
$oidc->providerConfigParam(array(
 +
      'token_endpoint'=>'https://auth.example.org/oauth2/token',
 +
      'authorization_endpoint' =>'https://auth.example.org/oauth2/authorize',
 +
      'end_session_endpoint'=>'https://auth.example.org/oauth2/logout',
 +
      'userinfo_endpoint' => 'https://auth.example.org/oauth2/userinfo',
 +
));
 
$oidc->addScope(array("openid", "email", "profile"));
 
$oidc->addScope(array("openid", "email", "profile"));
 
$oidc->setRedirectURL("RedirectURIHere");
 
$oidc->setRedirectURL("RedirectURIHere");

Versio 1. lokakuuta 2017 kello 18.02

Helppo PHP kirjasto: https://github.com/jumbojett/OpenID-Connect-PHP

Vaatimukset

  • PHP5.4 tai uudempi
  • CURL-laajennos PHP:ssä
  • JSON-laajennos PHP:ssä

Asentaminen ja käyttö

Käytä asentamiseen Composeria

composer require jumbojett/openid-connect-php:0.1.*

Lisää tämä PHP:hen

require '/vendor/autoload.php';

Esimerkki kirjautuminen ja käyttäjänimen haku. Korvaa ClientIDHere, ClientSecret ja RedirectURIHere omilla parametreillä.

$oidc = new OpenIDConnectClient("https://id.provider.com","ClientIDHere","ClientSecretHere"
$oidc->providerConfigParam(array(
      'token_endpoint'=>'https://auth.example.org/oauth2/token',
      'authorization_endpoint' =>'https://auth.example.org/oauth2/authorize',
      'end_session_endpoint'=>'https://auth.example.org/oauth2/logout',
      'userinfo_endpoint' => 'https://auth.example.org/oauth2/userinfo',
));
$oidc->addScope(array("openid", "email", "profile"));
$oidc->setRedirectURL("RedirectURIHere");
$oidc->authenticate();
$user = $oidc->requestUserInfo('sub');
$_SESSION['user_session'] = $user;
Mainos / Advertisement: