【问题标题】:Avoid Azure Oauth page redirection for my AD web application避免对我的 AD Web 应用程序进行 Azure Oauth 页面重定向
【发布时间】:2017-03-03 14:44:23
【问题描述】:

我们在 IIS(Intranet Web 服务器)中托管了一个启用 Windows 身份验证的应用程序。我们希望将 SkypeforBusinessOnline 集成到应用程序中,并完成了https://msdn.microsoft.com/Skype/WebSDK/docs/developwebsdkappsforsfbonline 给出的步骤。

我们能够成功地将 Skype for Business SDK 集成到我们的 Web 应用程序中。但是,一旦用户登录,应用程序就会重定向到 OAuth 页面“https://login.microsoftonline.com/common/oauth2/authorize?response_type=token&&&client_id=”。

有没有办法避免这种重定向并在应用程序内部静默获取访问令牌(使用 clientid 和密钥)。我们不想在我们的应用程序中对用户进行两次身份验证。我们尝试了 ADAL,但它没有帮助

【问题讨论】:

    标签: asp.net c#-4.0 oauth azure-active-directory skype-for-business


    【解决方案1】:

    我从未使用过 Skype for Business API,但我可以解释为什么会发生重定向以及您可以尝试什么。

    完成重定向以使用 Azure Active Directory 登录用户。如果您希望留在网站上,或者如果用户在 Intranet 中,您可以进行不同的身份验证,他们可以通过家庭领域发现几乎自动登录。 重定向仍然发生

    如果您在 Azure AD 中注册的应用使用委派权限调用 API,则必须执行重定向。

    但是,如果您使用 应用程序权限,您的应用程序可以使用 其身份调用 API。那么登录用户是谁,或者即使用户为此登录也无关紧要。在这种情况下,必须非常好地处理身份验证和授权。

    Skype for Business Online API 提供一些您可以为您的应用程序授予的应用程序权限:

    添加它们并将它们授予应用程序。然后,您应该能够从 Azure AD 令牌端点获取访问令牌,其中包含客户端 ID、客户端密码和 Skype for Business API 的资源 URI。

    【讨论】:

    • 您好 junnas,谢谢您,我们能够成功获取访问令牌,而无需重定向到 OAuth 页面(使用 .Net 身份提供程序库)。但在那之后,当使用检索到的令牌登录到 Skype SDK 时,我们遇到了这个错误。
    • 我可以使用客户端密钥和密钥(使用库 IdentityModel.Clients.ActiveDirectory)进行身份验证并成功取回 accesstoken。但是使用该访问令牌后,我无法登录到我的 Skype 帐户,它显示安全错误..
    • 根据我的理解,使用客户端凭据流程所需的应用程序令牌不应包含用户帐户信息,您使用哪个 REST 登录 Skype 帐户?
    【解决方案2】:

    没有。在没有重定向的情况下无法使用 Azure AD 进行身份验证。如果您希望用户登录 Skype for Business,您可以使用本地 Lync 服务器而不是 Skype for Business Online。然后您可以在没有重定向的情况下进行身份验证。 使用 AD 对用户进行身份验证是一回事。对您的应用程序进行身份验证以便它可以访问 Skype for Business Online 是另一回事。而后者需要重定向。

    【讨论】:

    • 我也遇到了同样的问题,请问有没有办法解决这个问题。我们有一个面向公众的网站来捕获潜在客户,匿名用户将访问该网站,他们没有任何 Microsoft 帐户进行身份验证。
    猜你喜欢
    • 2018-10-10
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 2019-11-06
    • 2017-10-30
    • 2014-12-02
    相关资源
    最近更新 更多