NADC用户通行证基于OAuth2.0标准,为NADC平台内部各子系统以及第三方合作网站或应用提供单点登录以及用户信息共享等支持。
申请应用ID和应用密钥
Fig.1. 注册或编辑应用信息(应用ID和密钥在审批通过后可见)
从安全角度考虑,目前NADC通行证仅支持Authorization Code模式,适用于需要从web server访问的应用。如需其他授权模式支持或对接微信小程序等,请联系管理员(support(at)china-vo.org)。
GET https://oauth.china-vo.org/oauth/authorize?response_type=code&client_id=${client_id}&redirect_uri=${redirect_uri}&scope=profile&state=xyz123
回调地址?code=xxxxxx&state=xyz123
POST https://oauth.china-vo.org/oauth/token
grant_type=authorization_code&
code=${code}&
redirect_uri=${redirect_uri}&
client_id=${client_id}&
client_secret=${client_secret}&
scope=profile
{ "access_token":"RsT5OjbzRn430zqMLgV3Ia", "expires_in":3600 }
Authorization : Bearer ${access_token}
curl -H "Authorization: Bearer RsT5OjbzRn430zqMLgV3Ia" https://oauth.china-vo.org/api/profile
{ "code": 200, "message": "success", "data": { "user": { ...} } }
其中user包含如下信息:
当用户退出后第三方应用需要向通行证也发送一份登出请求,用以清理通行证对当前用户的session记录信息和token记录信息。
理论上,OAuth2.0标准不限定编程语言,NADC通行证对第三方应用的开发语言无强制要求。
OAuth开发包的推荐列表:
support(at)china-vo.org