是否有简便方法自行获取OAuth授权访问个人服务数据?
个人自用OAuth无网页授权方案
完全不需要额外开发授权页面,两种常用方法都能快速拿到访问权限:
- 方法1:使用OAuth 2.0标准的无回调授权模式
- 在对应服务的开发者后台创建应用时,回调地址填官方支持的无回调标识
urn:ietf:wg:oauth:2.0:oob,也可以填本地地址http://127.0.0.1:随便一个闲置端口,不用真实部署本地服务 - 按照服务的OAuth文档要求,拼接好带client_id、scope、响应类型为code的授权请求链接,自己用浏览器打开这个链接,登录账号后点击同意授权
- 如果用的是无回调标识,授权后服务会直接在网页上显示授权码,直接复制即可;如果用的是本地回调地址,浏览器跳转后从地址栏的URL参数里提取
code的值即可 - 拿到授权码后,按照文档要求发请求,带上client_id、client_secret、授权码就能兑换到access_token,后续调用接口直接用这个token鉴权即可,拿到的refresh_token还可以用来续期,不用重复走授权流程
- 在对应服务的开发者后台创建应用时,回调地址填官方支持的无回调标识
- 方法2:直接使用平台提供的个人测试令牌
现在绝大多数提供OAuth接口的平台,都在开发者后台给个人用户提供预授权测试令牌生成功能,你可以自己选择需要的权限范围,直接点击生成就能拿到可用的access_token,部分平台还支持设置永久有效期,连授权流程都不用走,适合快速开发自用小项目。
注意:所有的client_secret、access_token、refresh_token都属于敏感信息,不要硬编码到公开提交的代码里,建议存在本地单独的配置文件中,通过.gitignore等方式排除到版本管理之外,避免泄露造成账号风险。
内容的提问来源于stack exchange,提问作者Att Righ
相关产品推荐
相关产品推荐

