[专题] 我所知道的关于 OAuth 2 的资料
OAuth 2 最近有用到,感觉新手从理解到在项目里面熟练实现(根据不同的场景 or 设备实现不同的 grant 方案),还是需要一个过程的。整理一下自己的一些学习资料;
入门
阮一峰老师的博客是一定要去看看的,他写的这篇关于 OAuth 2.0 应该是你必读的第一篇文章,文章的评论也很不错;
http://www.ruanyifeng.com/blog/2014/05/oau...
教程
这是几篇国外不错的教程,通读一下应该可以对 OAuth 2.0 有个系统的认知和了解;
http://tutorials.jenkov.com/oauth2/overvie...
http://code.tutsplus.com/articles/oauth-20...
如果你不喜欢阅读大量英文,但是听力还不错,可以去看看 knpUniversity
的 video 教程:
https://knpuniversity.com/screencast/oauth
一些题外话,关于 OAuth 1.0 和 OAuth 2.0 的一些争论,暂时不去讨论这个问题,你可以把它当做故事去看:
译言网 OAuth 2.0:通往地狱之路: http://article.yeeyan.org/view/50978/30753...
Sackoverflow:http://stackoverflow.com/questions/7561631...
动手实践
ok,现在开始需要你动手操作了,这个项目让你把所有细节动手实践一遍,还是蛮有用的,包括指导你去使用不同的 storage 方案,以及在不同的 PHP Framework 以及已有项目中里面实现 OAuth2.0:强烈推荐动手实践
教程:http://bshaffer.github.io/oauth2-server-ph...
扩展阅读
如果你有大量的空闲时间,去快速浏览一下 RFC 文档呗~~
- Oauth 1.0 RFC Document: http://www.rfcreader.com/#rfc5849
- Oauth 2.0 RFC Document: http://www.rfcreader.com/#rfc6749
- Bearer Token Usage http://www.rfcreader.com/#rfc6750
- Threat Model and Security Considerations http://www.rfcreader.com/#rfc6819
Laravel && OAuth 2
毕竟这是 Laravel 社区,推荐一些 Laravel 框架的 OAuth 2.0 的包还是需要的:
PHP OAuth 2.0 Server
http://oauth2.thephpleague.com/
lucadegasperi/oauth2-server-laravel
https://github.com/lucadegasperi/oauth2-se...
如果你正在写 API Server,Dingo/api
或许是个不错的选择,与 lucadegasperi/oauth2-server-laravel
快速搭配使用;
Laravel 5.3 : Passport
在 Laravel 中,可以非常简单得实现基于传统表单的登陆以及授权,但是如何满足 API 场景下的授权需求呢?在 API 场景中通常通过令牌来实现用户授权,而不是通过维护请求之间的 Session 状态。现在可以使用 Passport 在 Laravel 项目中轻而易举地实现 API 授权过程,通过 Passport 可以在几分钟之内为你的 Laravel 应用程序添加完整的 OAuth2 服务端实现。 Passport 基于 League OAuth2 server 实现,该项目的维护人是 Alex Bilbie 。
Updated At 2016/09/17
附加优质资源链接:
帮你深入理解 OAuth 2.0 http://blog.csdn.net/seccloud/article/details/8192707
http://oauth2.thephpleague.com/ 这个文档写的很清晰.
@hutushen222
有三种场景:
对应下面的三个截图:
Laravel Tutorial Welookups
https://www.welookups.com/laravel/default....