前页 后页

在支持OpenID身份验证的模型中授权用户

ProCloud Server中的OSLC实现支持一种称为“使用授权码流进行验证”的OpenID验证。授权用户的过程包括以下步骤:

  1. 用户将授权请求发送到OpenID服务器中的授权端点。
  2. OpenID服务器对用户进行身份验证,然后向他们发送授权码。
  3. 用户使用/ oslc / am / login /调用将授权代码发布到OSLC。
  4. OSLC通过联系OpenID服务器来验证授权代码。
  5. 成功的验证返回XML元素“ ss:useridentifier”中包含用户身份验证令牌(以及其他信息)的XML。

支持OpenID身份验证的模型中的用户身份验证令牌

行动

1个

通过检索服务提供者资源(使用/ oslc / am / sp /调用)来确定OpenID服务器中的授权端点。如果模型支持OpenID身份验证,并且Pro Cloud Server能够联系OpenID服务器,则授权端点将在  oslc:authorizationURI元素。

2

使用以下URL参数将GET请求发送到授权端点,以通过Web浏览器授权用户:

  • response_type
  • client_id
  • 范围
  • redirect_uri
授权请求将采用以下格式:

<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配置中定义/可用。

学到更多