如何引入OIDC服务(3)

获取用户信息

为了获取用户信息,您需要提供一个回调页面,当用户授权成功后,系统会推送相关信息给到回调页面,被授权应用拿到回调参数后,可以向服务器换取用户信息。

1、提供回调地址:

格式要求:回调需要支持HTTP GET请求。

请求参数:回调页面需要支持以下参数

参数 类型 说明
code String 授权成功的代码,用于后续的用户信息的获取
state String 授权回调时的附加信息(调用授权前调用方传递的参数)

 

2、获取当前授权用户信息:

请求地址:https://www.oidc.org.cn/oauth/token

请求参数:

参数 类型 说明
grant_type String 授权类型,此处固定为authorization_code
client_id String 应用代码,创建应用时的app_key
client_secret String 访问令牌,创建应用时的app_secret
code String 授权成功时,回调接口获取到的code
redirect_uri String 回调地址,创建应用时填写的redirect_uri

如下为一个请求示例:

http://www.oidc.org.cn/oauth/token?grant_type=authorization_code&client_id=YOUR_APP_KEY&client_secret=YOUR_APP_SECRET&code=CODE&redirect_uri=REDIRECT_URI

如下为响应报文示例:
{
    "access_token":"access_token",
    "refresh_token":"refresh_token",
    "expires_in": 600000,
    "user":{
        "code": "1234567890",
        "name": "display name",
        "avatar": "avatar.png"
    }
}

3、获取全局唯一用户信息:

请求地址:https://www.oidc.org.cn/oauth/user

请求参数:

参数 类型 说明
token String 访问令牌

如下为一个请求示例:

http://www.oidc.org.cn/oauth/user?token=TOKEN

如下为响应报文示例:

{
    "user":{
        "code": "1234567890",
        "name": "display name",
        "avatar": "avatar.png"
    }
}