『hduhelp』如何使用助手鉴权/使用助手的开放服务
官方文档:https://open.hduhelp.com/docs/develop/
因为官方文档写得有些抽象,鄙人搞懂之后特作此文以记录
PS:全程使用
https
申请票据
首先,作为第三方软件,在助手许可后你是可以调用助手的api的
助手方面会提供给你一对字符串密钥
名称 | 票据 |
---|---|
client_id |
用于识别服务提供方的 id |
client_secret |
用于证明服务方身份的密钥 |
获取 access_token
这个要一来二去搞两回,有点麻烦
首先,你要构造一个发起请求的 URL ,然后让用户在浏览器中访问
1 | https://api.hduhelp.com/oauth/authorize?response_type=code&client_id=[提供的clientID]&redirect_uri=[callback对应的url]&state=[您自己生成的state] |
自己替换成实际的字符串就行,不用带括号
redirect_Url
指的是在助手那边鉴权成功后跳转的路由,下面以http://localhost
为例state
是你自己生成的,据说是用来防 CSRF 的,但我好像没看出来是怎么防的
什么老王八蛋哇,@eson
之后就跳转到统一身份认证平台
最后重定向到你的后台 URL ,并且可以看见还附带了 code
和 state
两个参数
现在你才能去请求 access_token
构造一个 GET 请求,内容如下
1 | https://api.hduhelp.com/oauth/token?client_id=[提供的clientID]&client_secret=[提供的client_secret]&grant_type=authorization_code&code=[callback中获取的code]&state=[callback中获取的state] |
是不是很麻烦?麻烦就对了,再拿这个去申请 access_token
现在就拿到手了
调用 API
拿到 access_token
之后,我们就可以去调用 API 了,比如这个校园时间的
只需要在 HTTP 上添加 Authorization
头来进行鉴权,值为 token [access_token]
评论
GiscusTwikoo