raywenderlich OAuth 学习笔记
ApolloZhu opened this issue · comments
Zhiyu Zhu/朱智语 commented
目的
- 通过 token,而不是用户名和密码实现用户身份验证
- 可以限制能够访问得到的数据的范围来提升安全性
方法
- 流程:用户登录第三方网站,输入用户名密码,第三方返回 token
- 实现:使用 OAuth Swift 框架(做了很好的抽象
例子:Strava
配置 Deep Link 回 App:
把 access token 传入请求的 authorization header 里:
扩展阅读
- User defaults 不是存储 token 的好地方,应该使用 keychain,没有找视频教程,可以看文章
- OAuth 服务端的实现参考 https://docs.vapor.codes/3.0/auth/api/
- 不要存储明文密码到数据库
- Ray 其他的 vapor 视频里提到了 Turnstile,有兴趣可以仔细研究什么情况
- bilibili 现在使用的是 session 式的用户认证(随 cookie 发送用户当前 session 信息)
参考资料
OAuth2: https://www.raywenderlich.com/5034-accessing-data-using-oauth