【问题标题】:Getting Access Token from Azure AD without user credentials在没有用户凭据的情况下从 Azure AD 获取访问令牌
【发布时间】:2015-04-25 00:01:16
【问题描述】:

我正在使用 ADAL 登录我的应用程序,该应用程序是在 Xamarin.Forms 中针对 Azure AD 制作的。这一切都很好,但是我现在希望能够注册一个新用户,为此需要一个访问令牌来传递给我的一个方法的构造函数。

但是,由于用户尚未注册,我需要能够从 Azure AD 获取访问令牌,而无需实际提供任何用户凭据。有人告诉我,在普通的 Web 应用程序中,我可以发送客户端 ID 和应用程序密钥,以便 Azure AD 知道我是谁,然后将访问令牌发回给我,但我不知道如何在跨平台 Xamarin 应用程序中实现这一点。

如果有人以前遇到过这种情况,我们将不胜感激。

谢谢。

【问题讨论】:

    标签: c# azure xamarin.forms adal


    【解决方案1】:

    不建议在本机应用程序中使用应用程序密钥,无论您使用何种开发堆栈来实现它。原因是通常不应该信任设备的秘密。此外,秘密分发很复杂(您不能将其嵌入应用程序代码中)。 因此,适用于 Xamarin 的 ADAL(以及旨在用于本机应用程序的所有其他 ADAL 风格)不公开任何使用应用程序密钥获取令牌的方法。 从一个反应用程序中,您确实需要使用用户身份引导安全通信。一旦你有了它,你就可以在服务器端做各种有趣的事情(例如,你的 API 可以在服务器上运行,获取令牌作为应用程序)。 高温高压 五、

    【讨论】:

    • 那么,如果我使用用户身份保护连接,这是否意味着我可以从 Azure AD 获取访问令牌,而无需输入或发送任何用户凭据?
    • 从本机应用程序到您的 Web API,您需要以用户身份进行身份验证才能获取令牌。一旦您的 API 正在执行,它就可以在服务器端获得新的令牌,而无需用户干预 - 但如果没有初始令牌,您就无法保护对 API 的调用,并强调必须从本机客户端获取令牌的要点一个用户。有关 Azure AD 支持的令牌获取模式列表,请参阅 msdn.microsoft.com/en-us/library/azure/dn499820.aspx
    • 好的,如果我不以用户身份进行身份验证就无法获取令牌,如何在 Azure AD 中注册新用户?如果我正在注册一个新用户,他们还没有通过 API 进行身份验证所需的凭据,或者我在为我的应用注册新用户时不需要传递令牌?
    • 您可以从 Web 应用程序中执行此操作,该应用程序可以拥有自己的凭据并在没有用户的情况下获取令牌。这不是在设备上运行的应用程序的选项。
    猜你喜欢
    • 1970-01-01
    • 2018-05-21
    • 2019-05-15
    • 1970-01-01
    • 2018-07-20
    • 2022-11-24
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    相关资源
    最近更新 更多