2015-02-23 81 views
0

我正在使用ADAL登录到我的应用程序,该应用程序正在针对Azure AD的Xamarin.Forms中制作。这一切都工作正常,但我现在想要能够注册一个新用户,并做到这一点需要一个访问令牌传递给我的方法之一的构造函数。从Azure AD获取访问令牌(无用户凭据)

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

如果有人遇到过这个,你的帮助将不胜感激。

谢谢。

回答

0

建议不要在本机应用程序中使用应用程序密钥,无论使用何种软件来实现它。原因是通常设备不应该被信任的秘密。此外,秘密分发是复杂的(您不能将其嵌入到应用程序代码中)。 因此,Xamarin的ADAL(以及ADAL的所有其他口味都意味着用于本机应用程序)不会公开任何使用应用程序密钥获取令牌的方法。 从antive应用程序,你真的需要引导与用户身份的安全通信。一旦你有了这些,你就可以在服务器端做各种有趣的事情(例如,你的API可以在服务器上运行,获取令牌作为应用程序)。 HTH V.

+0

因此,如果我使用用户标识保护连接,这是否意味着我可以从Azure AD获取访问令牌,而无需输入或发送任何用户凭据? – Mike 2015-02-26 09:23:48

+0

从原生应用程序到您的Web API,您*需要*作为用户进行身份验证才能获得令牌。一旦您的API正在执行,它可以在服务器端获得新的令牌而无需用户干预 - 但是,如果没有初始令牌,您无法保护对API的调用,并强调必须从本机客户端获得令牌一个用户。有关令牌获取模式列表,请参阅https://msdn.microsoft.com/en-us/library/azure/dn499820.aspx Azure AD支持 – vibronet 2015-02-26 09:28:13

+0

好吧,如果我无法获取令牌而未经过身份验证作为用户,如何在Azure AD中注册新用户?如果我正在注册一个新用户,他们将不具备使用API​​进行身份验证所需的凭据,或者在为我的应用程序注册新用户时不需要传递令牌? – Mike 2015-02-26 09:46:20

相关问题