Oauth .NET-接受来自多个授权服务器的承载令牌的单资源服务器

Oauth .NET-接受来自多个授权服务器的承载令牌的单资源服务器,oauth,thinktecture-ident-server,Oauth,Thinktecture Ident Server,场景:我们向预先注册的应用程序公开web API。此API是公开的,但应仅对已注册的应用程序(客户端)可用。为此,我们选择了OAuth2授权,资源服务器从授权服务器接受承载令牌 我们使用Thinktecture IdentityServer v3实现OAuth目的 我们选择了OAuth2客户端凭据流,并与基于服务器的应用程序共享该秘密。在这之前一切都很好。现在我们有了一个本机iOS移动应用程序,需要访问受保护的API。我们读到,与javascript/移动应用程序分享这个秘密不是一个好主意 同样

场景:我们向预先注册的应用程序公开web API。此API是公开的,但应仅对已注册的应用程序(客户端)可用。为此,我们选择了OAuth2授权,资源服务器从授权服务器接受承载令牌

我们使用Thinktecture IdentityServer v3实现OAuth目的

我们选择了OAuth2客户端凭据流,并与基于服务器的应用程序共享该秘密。在这之前一切都很好。现在我们有了一个本机iOS移动应用程序,需要访问受保护的API。我们读到,与javascript/移动应用程序分享这个秘密不是一个好主意

同样重要的是,iOS移动应用程序有自己的身份提供商(ADFS)。因此,在从授权服务器请求令牌之前,用户必须已经登录到iOS应用程序

考虑到这种情况,您能否建议资源服务器如何信任此iOS本机应用程序?我们考虑使用隐式流。但由于iOS移动应用程序有自己的身份验证,授权服务器需要一种方法来确定传入的请求已经使用外部身份提供商进行了身份验证,并自动向iOS应用程序发出访问令牌

  • 我们如何使授权服务器信任外部身份提供者,并在来自该iOS应用程序的请求时发出访问令牌,而不是将用户重定向到授权服务器登录页面

  • 单个资源服务器是否能够接受来自多个授权服务器的令牌?若否,原因为何