Laravel Passport:基于另一个微服务发出的访问令牌对api请求进行身份验证

时间:2019-08-12 17:17:45

标签: laravel laravel-passport

我有3个服务。 app.mydomain.com,accounts.mydomain.com和api.mydomain.com。 account.mydomain.com使用护照进行身份验证并颁发访问令牌。我的问题是如何使用帐户服务发出的此访问令牌来允许访问api服务的资源。

1 个答案:

答案 0 :(得分:1)

您有两种方法:

1)在account.mydomain.com调用的api.mydomain.com服务器上创建一个自省端点,以检查访问令牌。

通过令牌自省端点,资源服务器(api.mydomain.com)可以检查访问令牌的有效性,并找出其他信息,例如哪些用户和哪些范围与令牌相关联。

有关令牌自省的更多信息,请参见https://oauth.net/2/token-introspection/

这是更好但更难的解决方案,因为您需要在api.mydomain.com服务中编写中间件或保护验证器,才能从account.mydomain.com调用内省端点

2)在您所有的项目中共享oauth-private.keyoauth-public.key

这是更简单的方法,因为您唯一需要做的就是从storage目录复制和粘贴两个文件