【发布时间】:2020-04-26 03:21:29
【问题描述】:
我的用户使用移动应用程序,这个移动应用程序与 api 交互,一些 api 功能需要调用另一个 api 的。 我所有的 api 都需要授权,我应该将 tBearerToken 转发给其他 api 还是有其他方法可以做到这一点?
【问题讨论】:
标签: c# oauth oauth-2.0 identityserver4 openid
我的用户使用移动应用程序,这个移动应用程序与 api 交互,一些 api 功能需要调用另一个 api 的。 我所有的 api 都需要授权,我应该将 tBearerToken 转发给其他 api 还是有其他方法可以做到这一点?
【问题讨论】:
标签: c# oauth oauth-2.0 identityserver4 openid
您有多种选择。您需要使用委托模式来为您的后端获取有效的令牌。
您可以将令牌从一个 API 转发到另一个 API,这样您就可以在两个 API 中重复使用令牌。或者相同的是,Apis 共享受众和范围。这不是一个好习惯,因为您超出了规范。
或者您可以通过在您的 Idp 上实施委托授权来扩展您的授权,其中具有令牌的第一个 Api 将其交换为具有不同受众但具有所有用户信息的另一个令牌。您可以在IdentityServer4 documentation 中查看示例。
【讨论】: