我将使用SAML术语(用户,服务提供商和IdP)来简化对我的挑战的解释。
基本上,我们有一个具有自己的身份验证机制的多渠道Web /应用程序。应用服务器需要调用第三方API。第三方API具有自己的身份验证。 步骤如下:您可以在https://sequencediagram.org
上看到Browser->SP: Login/Authentication
Browser ->SP: View 3rd Party content
SP->SP: 3rd party token exists? No
SP->Browser: redirect (302) to 3rd party
Browser->IdP: Authenticate
IdP->Browser: Login challenge
Browser->IdP: Login credentials
IdP->Browser: redirect back to Application+Token
Browser->SP: Token issued by 3rdParty
SP->SP: store token for future use - say up to 6 months?
SP->3rdParty: getData(Token)- on same domain as IdP
3rdParty->SP: Response
SP->Browser: display content
End
它看起来不像典型的SSO。但是,它仍然依赖于SSO概念。是否有满足此需求的标准OIDC / OAuth / SAML模式?您会推荐这种方法吗?我的禁忌主要有两点:
为简单起见,我省略了访问令牌等详细信息。