MaxKey/docs/sso/oidc.md
shimingxy c05593d112 u
2020-03-12 15:15:52 +08:00

2.5 KiB
Raw Blame History

OpenID Connect应用集成

本文介绍OpenID Connect应用如何与MaxKey进行集成。

认证流程

请参照OAuth2认证流程

应用注册

应用在MaxKey管理系统进行注册注册的配置信息如下

<img src="{{ "/images/sso/sso_oidc_conf.png" | prepend: site.baseurl }}?{{ site.time | date: "%Y%m%d%H%M" }}" alt=""/>

集成和接口

3)用户属性接口/api/connect/v10/userinfo

通过访问token 获取登录用户信息及签名信息,在程序中必须验证相关的签名信息。

接口名称 OIDC授权用户信息查询接口
url https://sso.maxkey.org/maxkey/api/connect/v10/userinfo
请求方式 http get/post
请求参数
参数 说明
access_token 调用sso/ token获得的token值。
实际请求如下:
 
POST /oauth/ userinfo HTTP/1.1
Host: sso.maxkey.org/openapi
Content-Type: application/x-www-form-urlencoded
access_token= PQ7q7W91a-oMsCeLvIaQm6bTrgtp7
返回数据/ response data

成功返回JSON数据如下

 
{
userid     :  “zhangs”,
				…
}

zhangs是认证的用户ID

OAuth认证接口属性列表

属性名(Attribute) 描述 数据类型
uid uid 字符串

其他请参照OAuth2

OAuth2客户端集成

本文使用JAVA WEB程序为例

jar包依赖如下

https://github.com/shimingxy/MaxKey-Demo/tree/master/maxkey-demo-oauth/lib

认证跳转

https://github.com/shimingxy/MaxKey-Demo/blob/master/maxkey-demo-oauth/src/main/webapp/oidc10index.jsp

获取令牌和用户信息及验证签名 (id_token及用户信息)

https://github.com/shimingxy/MaxKey-Demo/blob/master/maxkey-demo-oauth/src/main/webapp/oidc10callback.jsp