我试图弄清楚如何在两个不同的应用程序上使用OAUTH2执行单点登录。目前,根据我的理解,我可以使用身份验证提供程序来验证我的客户端。程序如下:
客户端被重定向到身份验证提供者application
< code >G 211
现在,我在另一个后端(PHP)中有了第二个应用程序,我想告诉您,用户已经通过OAUTH登录了。我的天真解决方案是向第二个应用程序提供第一个应用程序的访问令牌,以执行身份验证。但是,我知道我不允许在应用程序之间共享访问令牌。
发布于 2020-09-03 12:56:20
每个后端服务都应该通过内省验证访问令牌。唯一的内省保证令牌是有效的,而不是过期或撤销的。
因此,您必须将访问令牌传递给后端服务。若要确保可以使用HTTPS,请执行以下操作。
发布于 2020-09-03 13:32:14
关于不共享访问令牌,您是正确的。身份验证提供程序还应该允许创建ID令牌。您将使用身份验证提供程序配置第二个应用程序,并获得一个客户端id。客户端id和ID令牌都需要在第二个应用程序中签名,这将生成它的访问令牌。
你用的是什么赠与类型?
发布于 2020-09-03 18:04:10
这两个应用程序都需要重定向用户:
在第一个应用程序中,用户将对
。
在第二个应用程序
这是标准的SSO行为,最好接受它。可用性很好。除非您有高级需求,否则不建议尝试共享令牌。
https://stackoverflow.com/questions/63724066
复制相似问题