我创建了一个基于 PHP Slim 框架的 Rest API,它使用 JSON Web Tokens (JWT) 来验证和授权访问。
要使用 API,客户端必须首先通过将其凭据发送到特殊/auth/token路由来验证自己,如果正确,则返回包含允许权限列表的数字签名令牌。对 API 的所有后续请求都需要令牌以进行身份验证和授权。这是非常标准的东西,效果很好。
但现在我想将/auth/token服务分离成自己的微服务,以便将来可以与其他 API 一起使用。
问题是,API 现在将如何验证 JWT,因为它们无权访问用于生成它的秘密?
我使用Firebase\JWT\JWT生成令牌,该令牌将移动到新的身份验证服务。我使用tuupola/slim-jwt-auth中间件来验证每个 API 上收到的令牌。
由于每个 API 和新的身份验证服务都将在同一台主机上运行,我可能可以在它们之间共享秘密,但这感觉是一种不好的做法。有没有更好的办法?