双子-身份验证中心
- Gemini-OAuth2-Api
- gemini-oauth2-parent
- Galaxy-Microservices
- gemini-oauth2-api
- Gemini-OAuth2-Web
sequenceDiagram
participant User
participant ApplicationService
participant OAuth2Service_FrontEnd
participant OAuth2Service_BackEnd
User->>ApplicationService: login
ApplicationService->>OAuth2Service_BackEnd: ① redirect to /oauth2/authorize
OAuth2Service_BackEnd->>OAuth2Service_FrontEnd: ② redirect to /oauth/approve
OAuth2Service_FrontEnd->>OAuth2Service_FrontEnd: ③ login (if not logged)
OAuth2Service_FrontEnd->>OAuth2Service_BackEnd: ④ GET /oauth2/approve (auto approve if already authorized, goto ⑥)
OAuth2Service_FrontEnd->>OAuth2Service_BackEnd: ⑤ POST /oauth2/approve (user click approve)
OAuth2Service_BackEnd->>OAuth2Service_FrontEnd: ⑥ response callback url
OAuth2Service_FrontEnd->>ApplicationService: ⑦ callback
ApplicationService->>OAuth2Service_BackEnd: ⑧ POST /oauth2/access_token (obtain Access Token)
OAuth2Service_BackEnd->>ApplicationService: ⑨ response access token
ApplicationService->>User: login
GET /oauth2/authorize
请求字段:
字段 | 类型 | 描述 |
---|---|---|
response_type | string | 固定值code |
client_id | string | 在后台注册时,拿到的ApplicationID |
redirect_uri | string | 可选,重定向地址 |
scope | string | 可选,请求的权限列表 |
state | string | 随机字符串,每次请求必须不同 |
响应字段:
字段 | 类型 | 描述 |
---|---|---|
code | string | 凭据,客户端凭此换取AccessToken |
state | string | 随机字符串,客户端应校验与请求字段相同 |
POST /oauth2/access_token
请求字段:
字段 | 类型 | 描述 |
---|---|---|
grantType | string | 固定值authorization_code |
code | string | 调用authorize接口时返回的code字段 |
redirectUri | string | 可选,重定向地址 |
clientId | string | 在后台注册时,拿到的ApplicationID |
clientSecret | string | 在后台注册时,拿到的ApplicationSecret |
响应字段:
字段 | 类型 | 描述 |
---|---|---|
accessToken | string | AccessToken |
tokenType | string | 固定值bearer |
expiresIn | integer | 过期时间 |
refreshToken | string | 刷新Token |
scope | string | 用户授权的范围 |