在我的Web应用程序(恰好是SPA(单页应用程序))中,我使用OpenID和OAuth2.0客户端进行使用第三方服务的用户身份验证。即谷歌(OpenID),雅虎(OpenID),Windows Live(OAuth2)和Facebook(OAuth2)。
现在,我已经设置了一个令牌端点,用于交换承载令牌的用户凭据。此处的目标是通过在SPA的所有请求中设置的授权标头替换Cookie。 为此,我使用OAuth2.0客户端密码身份验证策略和“密码”grant_type根据其凭据(oauth2orize + passport-oauth2-client-password)对用户进行身份验证。
我想知道:
如何为使用第三方服务验证的用户继续使用令牌承载身份验证方法?
OAuth2.0规范中是否有处理此案例的内容?
此类实施的常见做法是什么?