我目前正在开发一个PHP WebApp,我们决定将其拆分以避免成为一个整体。为了改善用户体验,我们希望将OAuth2服务器用于SSO:因此,用户只需登录一次即可访问所有应用。
为了开始,我已经阅读了OAuth Spec,我希望我得到了基本概念(我决定使用authorizationCode授权类型)。
所以,让我说我有一个应用程序正在运行
webapp1.somedomain.com
我在
上有一个OAuth服务器oauth.somedomain.com
如果用户尝试访问 webapp1.somedomain.com :
那么现在用这个令牌做什么?应用程序可以在每个请求上将其作为查询参数(不太好)或授权标头(更好)传递,并在请求的每个页面加载时提取它,并检查 oauth服务器如果用户是仍然登录。
这会给 oauth 服务器造成一些沉重的负担,不是吗?所以我必须以某种方式缓存令牌(和到期时间)并从缓存中读取令牌并检查它是否尚未达到到期时间。
或者我会在会话中保存令牌并根据令牌到期时间设置会话生存期......?
此刻我有点卡住了。可能是什么方式?