我一直在研究切换到社区支持的授权系统,而不是我建立的系统。我犯了重建轮子的错误,而不是实现利用最佳实践的社区驱动系统。但是,我找不到任何使用 JWT 而不是身份验证的授权示例。
我愿意接受所有建议。据我所知,JWT 和 OAuth 要求客户端拥有现有帐户并进行身份验证才能接收 token 。但是,我的应用程序中需要以下功能。
我将使用 Laravel 5.1 和 AngularJS 构建这个项目。非常感谢所有建议。我真的可以在这方面使用一些指导,简单的文档链接就足够了。
最佳答案
我当然理解您描述的用例 - 但我认为匿名 token 实际上并没有增加任何安全性。这是因为一个完全匿名的用户将能够请求一个匿名 token 而无需首先表明自己的身份(否则它不会是匿名的)。因此 - 必须假定此 token 由您的应用程序的任何和所有用户拥有(包括具有恶意意图的用户)
虽然我不熟悉 Laravel - 实现此类功能的一般方法可能类似于:
方法
authenticated
之间创建一个分界线端点和 anonymous
端点,需要用户 session 中存在的有效访问 token 来检索/发送数据到 authenticated
的端点authenticated
他们有权访问的端点 一般注意事项
关于authentication - 匿名用户的访问 token - JWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184594/