连接到Azure以创建应用程序注册

时间:2014-04-17 12:24:10

标签: authentication azure azure-active-directory azure-sdk-.net

我正在尝试编写一个将在Azure Active Directory中注册应用程序的C#控制台应用程序。当您更改身份验证并在Azure中选择组织帐户时,它应该像VS 2013中的web application project creation向导一样工作。

在fiddler跟踪之后,我可以看到它使用wsfederation和oauth2令牌对用户进行身份验证,然后使用graph.windows.net graph api配置AAD directoryObjects服务主体和应用程序。

我尝试使用sample Graph API app,但它要求首先注册应用程序,以便我使用{{3发送获取令牌请求中的clientId(应用程序ID)和密码(密钥) }}

我尝试过使用一堆不同的Azure API,但它们都有我的鸡蛋和鸡蛋问题,我想使用未注册的客户端应用程序在AAD中注册应用程序。我需要避免Windows Azure AD Authentication Library for .NET,以便用户无需手动操作。

有没有人知道Visual Studio是如何做到的,只使用浏览器提示的用户登录,或者是否有可用于访问图API的标准应用程序ID和密码,例如标准登录URL,{{ 3}}?一些C#样本将不胜感激。

Configuring Application Authentication and Authorization for the Graph API会创建应用程序,但需要一个clientId和密码,我认为我没有。

1 个答案:

答案 0 :(得分:1)

您无法使用未经注册的客户端使用Graph API注册新应用程序。 VS2013流程工作的唯一原因是因为VS2013已经在Azure AD中以特殊方式注册 - 它是第一方应用程序并具有唯一权限。在我的Fiddler跟踪中,VS2013使用客户端ID 872cd9fa-d31f-45e0-9eab-6e460a02d1f1。从技术上讲,您可以使用此客户端ID和VS2013的重定向URI来启动Azure AD登录。这仍然涉及用户交互(用户必须通过浏览器弹出窗口进行身份验证),因此它不符合您对“无手动步骤”的要求,但它对于理解协议流程和注册工作方式有所帮助。

最重要的是,如果您想在没有用户交互(客户端凭据流)的情况下调用Graph API,则需要使用适当的应用程序权限注册客户端。