各类服务
网络接入
统一身份认证(OAuth2.0)
发布时间:2018-04-08
点击次数:139

认证

大部分API的访问如发微博、关注微信公众号、查询用户数据都需要用户身份,目前厦大信息化开放平台用户身份鉴权采用的是OAuth2.0

OAuth2.01.0相比整个授权验证流程更简单更安全,也是未来最主要的用户身份验证和授权方式。

申请需要提供

网站名称:

网站介绍:

回调地址:

申请后会获得

client_id

client_secret

OAuth2.0协议授权流程


其中Client指第三方应用,Resource Owner指用户,Authorization Server是我们的授权服务器,Resource ServerAPI服务器。

开发者可以先浏览OAuth2.0的接口文档,熟悉OAuth2的接口及参数的含义,然后我们根据应用场景各自说明如何使用OAuth2.0

验证授权

向网络中心提供需要授权的网站名称、网站介绍和服务器回调地址,获取授权的client_idclient_secret。记住client_secret永远不要暴露给用户。

引导需要授权的用户到如下地址:

http://open.xmu.edu.cn/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=YOUR_CODE

如果用户同意授权,页面跳转至:

http://open.xmu.edu.cn/oauth2/token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&code=YOUR_CODE

解析获取的json数据,获取用户学工号,从而可以将学工号与第三方网站账号绑定

访问 http://open.xmu.edu.cn/v1/user/userinfo?access_token=YOUR_ACCESS_TOKEN 解析获取的json数据,获取用户姓名、院系、身份类别(S是学生,T是教工)。

授权页

使用OAuth2.0调用API

使用OAuth2.0调用API接口的方式:

直接使用参数传递参数名为

codehttp://open.xmu.edu.cn/oauth2/token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&code=abcd

示例代码下载

示例代码只是示例,还需自行根据语言环境调试。

ASPPHPJAVA