【发布时间】:2019-10-17 18:03:09
【问题描述】:
我需要在 PHP 站点中实现 SSO
当用户点击登录按钮时,我需要显示与身份服务器连接的 SSO 表单
我真的不知道从哪里开始
目前我只知道我必须使用 OpenID Connect
我想知道是否可以选择使用 Javascript
我花了很长时间在谷歌等网站上四处寻找,但我很难找到一个好的简单教程。
任何人都可以提供任何指针吗?
【问题讨论】:
标签: php single-sign-on openid-connect
我需要在 PHP 站点中实现 SSO
当用户点击登录按钮时,我需要显示与身份服务器连接的 SSO 表单
我真的不知道从哪里开始
目前我只知道我必须使用 OpenID Connect
我想知道是否可以选择使用 Javascript
我花了很长时间在谷歌等网站上四处寻找,但我很难找到一个好的简单教程。
任何人都可以提供任何指针吗?
【问题讨论】:
标签: php single-sign-on openid-connect
我的公司通常推荐PHPLeague's OAuth2 client 用于 PHP 集成。 README.md 中有示例代码,但基本上
?code=[stuff] 返回您的代码,$_GET['code'] 中的值从身份提供者那里获取访问令牌,并且getAuthenticatedRequest,或者$resourceOwner 的用户信息。访问令牌有过期信息等,并有根据需要刷新令牌的功能。总而言之,用 PHP 做起来真的很简单。
我避免使用 JS 进行 OAuth,但我很确定这只是个人喜好。还有good javascript libraries。
编辑:
要包含 OIDC 支持,请确保指定 OIDC 范围:
$options = ['scope' => ['openid']];
并使用 $options 数组调用 getAuthorizationUrl,例如:
$authorizationUrl = $provider->getAuthorizationUrl($options);
【讨论】:
$options = ['scope' => ['openid']]; 并使用 $options 数组调用 getAuthorizationUrl,例如:$authorizationUrl = $provider->getAuthorizationUrl($options);。