Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 拉雷维尔护照-客人代币_Laravel_Laravel Passport - Fatal编程技术网

Laravel 拉雷维尔护照-客人代币

Laravel 拉雷维尔护照-客人代币,laravel,laravel-passport,Laravel,Laravel Passport,假设有一个应用程序有10个动态页面(可能是表单),其中8个页面受到限制(要求用户登录应用程序),2个页面可供匿名用户使用 我的前端应用程序是Angular 2,后端API是在Laravel 5.4中开发的。我对JWT代币更感兴趣,发现laravel通过passport提供内置支持 问题: 我可以很容易地使用这8个限制页面。但是我如何给我的Angular应用程序提供访问这两个页面的访客令牌呢 如何限制来宾用户访问8个受限页面的API功能。(或者如何检查访问的用户是来宾还是API端的登录用户) 注意

假设有一个应用程序有10个动态页面(可能是表单),其中8个页面受到限制(要求用户登录应用程序),2个页面可供匿名用户使用

我的前端应用程序是Angular 2,后端API是在Laravel 5.4中开发的。我对JWT代币更感兴趣,发现laravel通过passport提供内置支持

问题:

  • 我可以很容易地使用这8个限制页面。但是我如何给我的Angular应用程序提供访问这两个页面的访客令牌呢
  • 如何限制来宾用户访问8个受限页面的API功能。(或者如何检查访问的用户是来宾还是API端的登录用户)
  • 注意:我无法使用,因为这将允许我的应用程序 使用任何受限制的API功能

    我在这里使用了这种方法。在我的例子中,我从API创建了JWT令牌。对于那些想使用JWT特性的人,他们可以看看。我添加了名为“Guest”的新负载,并为其分配了布尔值。在我的数据库中,我添加了新用户(称为匿名用户),并将其id存储在我的laravel配置中

    接下来,我创建了新的中间件VerifyJwtToken,它验证用户,提取其有效负载(使用base64_解码),并确定它是否是来宾。现在,我所有的Laravel路由都在这个中间件中

    接下来,我将这个令牌存储在laravel会话中以及(用于通过angular访问它)


    现在,我可以轻松地从localStorage访问此令牌。在最后,我使用了一个包,它可以帮助提取令牌并确定它是来宾还是登录用户。我还在Angular 4中创建了它,在每个API请求中添加JWT令牌作为头。

    可能有助于限制用户操作,因此您可以为来宾用户创建一个“全局”访问令牌,并发送给每个未经身份验证的用户。看起来很有趣!我将对此进行更多探讨。谢谢你,泰克!你在SahilPurav找到什么了吗?如果是这样的话,请您分享一下您对这个来宾身份验证机制所做的工作。我的处境与你相似。是的@AaronFahey让我说出我的答案。。。明天读:)谢谢@SahilPurav:)