【问题标题】:Issue Accessing the Web API hosted in a Web app from Another Web App when another web app当另一个 Web 应用程序访问另一个 Web 应用程序中托管在 Web 应用程序中的 Web API 时出现问题
【发布时间】:2018-08-14 13:59:58
【问题描述】:

我们有两个由 Azure AD 保护的 Web 应用程序。并分享登录信息。含义如果用户登录到 Web 应用程序 1,则无需登录到应用程序 2。工作正常。 这是该应用程序的作用。 Web 应用程序 1:托管 Web 应用程序 2 访问的一些 Web API。 Web Applicaiton 2:访问Application 1的Web Api。

这就是问题所在。 用户登录到应用程序 1. 并创建令牌缓存。用户转到应用程序 2,它会自动登录用户。现在,用户执行调用 Web 应用程序 1 的 api 的操作,它使用缓存的令牌(Web 应用程序 1 和 2 共享相同的缓存令牌)并且失败。

很明显,它失败了,因为 Web App 1 获得了观众 (graph.windows.net) 的令牌,而 Web App 2 正在尝试访问它以访问 Web App 1。

我没有好的出路。如果我更改登录顺序 Web App 2 然后 Web App 1 那么它将起作用,但我有要求以其他方式进行。用户首先来到 Web App 1 的位置。

期待一些帮助。

【问题讨论】:

  • Azure AD 中有多少个应用程序?两个还是一个?
  • Azure 广告中的两个应用。 Web 应用 2 被授予访问 Azure AD 中的 Web 应用 1 的权限。

标签: azure login token azure-active-directory access-token


【解决方案1】:

由于这实际上是 Azure AD 中的两个应用程序,我通常建议它们不要共享令牌缓存。

用户不必登录两次,因为他们应该会自动登录到另一个应用程序(由于单点登录)。 当然取决于一些参数和情况。

两个应用程序都应该能够正常获取它们需要的任何令牌。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    相关资源
    最近更新 更多