前页 | 后页 |
在支持OpenID身份验证的模型中授权用户
ProCloud Server中的OSLC实现支持一种称为“使用授权码流进行验证”的OpenID验证。授权用户的过程包括以下步骤:
- 用户将授权请求发送到OpenID服务器中的授权端点。
- OpenID服务器对用户进行身份验证,然后向他们发送授权码。
- 用户使用/ oslc / am / login /调用将授权代码发布到OSLC。
- OSLC通过联系OpenID服务器来验证授权代码。
- 成功的验证返回XML元素“ ss:useridentifier”中包含用户身份验证令牌(以及其他信息)的XML。
支持OpenID身份验证的模型中的用户身份验证令牌
步 |
行动 |
---|---|
1个 |
通过检索服务提供者资源(使用/ oslc / am / sp /调用)来确定OpenID服务器中的授权端点。如果模型支持OpenID身份验证,并且Pro Cloud Server能够联系OpenID服务器,则授权端点将在 oslc:authorizationURI元素。 |
2 |
使用以下URL参数将GET请求发送到授权端点,以通过Web浏览器授权用户:
<AUTHORIZATION ENDPOINT>?response_type = code&client_id = <客户ID>&scope = <SCOPE>&redirect_uri = <REDIRECT URI> 例如: http://192.168.1.106:8080/auth/realms/master/protocol/openid-connect/auth?response_type=code&client_id=WebEA&scope=openid&redirect_uri=http://localhost/openid/callback |
3 |
通过身份验证后,OpenID服务器会将授权码作为重定向URI中的URL参数发送回用户。例如 : http:// localhost / openid / callback?session_state = 18f42600&code = eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..yP6Yee4H_4 |
4 |
检索URL参数代码的值 并通过以下方式将其发送到OSLC: 网址:<协议>:// <服务器> / <型号名称> / oslc / am / login / POST正文:sso = openid; code = <授权码>; redirecturi = <REDIRECT URI> 例如,POST正文可能是: sso = openid; code = eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..yP6Yee4H_4; redirecturi = http:// localhost / openid / callback; |
5 |
OSLC通过与OpenID服务器联系来验证授权码,如果成功,则返回包含用户身份验证令牌的响应XML。 随每个OSLC资源/资源功能创建,更新,检索和删除请求一起传递此用户身份验证令牌。 |
笔记
- 可通过Pro Cloud Server使用有效许可证使用此功能
- 除非在启用安全性的模型中将用户身份验证令牌与请求一起传递,否则Pro Cloud Server将不会处理OSLC请求。
- 在启用安全性的模型中,闲置30分钟后,您将自动注销;您将必须通过将用户凭证发布到凭证验证URL来再次登录
- 在Authorization Endpoint GET请求中,URL参数“ client_id”,“ scope”和“ redirect_uri”的值将在OpenID Server配置中定义/可用。
学到更多
- 使用授权码流进行OpenID认证 (在线资源)
- OpenID身份验证请求 (在线资源)
- 服务提供商和服务提供商资源
- 启用安全性的模型中的用户凭证