Authentication 匿名用户访问令牌-JWT
我一直在研究切换到社区支持的授权系统,而不是我构建的授权系统。我犯了一个错误,重建了轮子,而不是实施一个利用最佳实践的社区驱动系统。但是,我找不到任何JWT而不是身份验证的授权示例 我愿意接受所有建议。据我所知,JWT和OAuth要求客户端拥有一个现有帐户,并进行身份验证以接收令牌。但是,我的应用程序中需要以下功能Authentication 匿名用户访问令牌-JWT,authentication,laravel-5,authorization,access-token,jwt,Authentication,Laravel 5,Authorization,Access Token,Jwt,我一直在研究切换到社区支持的授权系统,而不是我构建的授权系统。我犯了一个错误,重建了轮子,而不是实施一个利用最佳实践的社区驱动系统。但是,我找不到任何JWT而不是身份验证的授权示例 我愿意接受所有建议。据我所知,JWT和OAuth要求客户端拥有一个现有帐户,并进行身份验证以接收令牌。但是,我的应用程序中需要以下功能 匿名用户应该获得一个访问令牌,并且能够获取一些资源。我应该能够识别这些客户机并为它们存储会话数据 来宾用户应该能够登录,然后可能获得一个新的令牌,或者更新他们的访问级别以请求受限的
- 匿名用户应该获得一个访问令牌,并且能够获取一些资源。我应该能够识别这些客户机并为它们存储会话数据李>
- 来宾用户应该能够登录,然后可能获得一个新的令牌,或者更新他们的访问级别以请求受限的资源并执行仅针对成员的操作李>
我将用Laravel 5.1和AngularJS构建这个项目。非常感谢所有建议。我真的可以在这方面使用一些指导,简单的文档链接就足够了 我认为您可以从随机现有用户或自定义声明生成匿名访问令牌 来自现有随机用户:
// grab some user
$user = User::first();
$token = JWTAuth::fromUser($user);
或来自海关索赔:
$customClaims = ['foo' => 'bar', 'baz' => 'bob'];
$payload = JWTFactory::make($customClaims);
$token = JWTAuth::encode($payload);
您可以从以下链接获取更多详细信息:
我当然理解您描述的用例,但我认为匿名令牌实际上并没有增加任何安全性。这是因为完全匿名的用户可以请求匿名令牌,而无需首先标识自己(否则它就不会是匿名的)。因此-必须假定此令牌由应用程序的任何和所有用户(包括具有恶意意图的用户)拥有 虽然我不熟悉Laravel,但实现此类功能的一般方法可能是: 方法
authenticated
端点和anonymous
端点之间创建一个分界线,要求用户会话中存在有效的访问令牌来检索/发送数据给那些authenticated
已验证的
端点时,他们可以访问- 确保对会话数据使用持久存储(我通常会使用Redis之类的东西),以便在应用程序实例之间共享会话数据)