Laravel Passport:根据另一个微服务颁发的访问令牌对 api 请求进行身份验证
Laravel Passport: Authenticate api requests based on access token issued by another microservice
我有 3 项服务。 app.mydomain.com、accounts.mydomain.com 和 api.mydomain.com。 accounts.mydomain.com 使用护照验证并颁发访问令牌。我的问题是如何使用帐户服务颁发的访问令牌来允许访问 api 服务的资源。
你有两种方法:
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.key
和 oauth-public.key
。
这是更简单的方法,因为您唯一需要做的就是从 storage
目录
复制并粘贴这两个文件
我有 3 项服务。 app.mydomain.com、accounts.mydomain.com 和 api.mydomain.com。 accounts.mydomain.com 使用护照验证并颁发访问令牌。我的问题是如何使用帐户服务颁发的访问令牌来允许访问 api 服务的资源。
你有两种方法:
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.key
和 oauth-public.key
。
这是更简单的方法,因为您唯一需要做的就是从 storage
目录