使用Microsoft Graph API为控制台应用程序设置应用程序身份验证

时间:2019-07-20 18:19:21

标签: redirect uri headless microsoft-graph-sdks

我正在努力在Azure门户中正确配置我的应用程序。我的应用程序每次运行时都会提示用户许可。目标是一次提示管理员用户向我的应用授予权限。

我正在编写CONSOLE应用程序,以通过对Microsoft Graph API进行API调用来在Microsoft Planner中创建新任务。

我为此使用委托权限,因此此应用程序需要采用用户的权限。

好消息是我已经开始工作了。

我需要帮助的是在Azure门户中正确配置我的应用程序。

现在,每次我运行该应用程序时,都会提示您同意。我想让该应用程序要求管理员一次向该应用程序授予权限,然后让控制台应用程序运行,而之后不提示用户。

我遇到的一个问题是设置重定向URI。到目前为止,我唯一可行的方法是将URI设置为“ urn:ietf:wg:oauth:2.0:oob”。

正如我所读到的有关重定向URI的内容一样,您可能会认为我已经弄清楚了这一部分。我尝试使用:

当我的控制台应用程序运行时,它将用户定向到login.microsoftonline.com,在那里我可以选择一个用户,然后询问我是否要代表我的组织授予所有权限的权限列出。我单击接受按钮,它告诉我重定向URI与我的配置中的不匹配。

请记住这是一个控制台应用程序,有人可以建议我如何配置它才能正常工作吗?

private static IAuthenticationProvider CreateAuthorizationProvider(string clientId, string authority, IEnumerable<string> scopes)
        {
var clientApplication = new PublicClientApplication(clientId, authority);
            return new MsalAuthenticationProvider(clientApplication, scopes.ToArray());     
        }

如您所见,代码正在传递客户端ID和权限。在这种情况下,授权是我传递重定向URI的地方。我认为这是我的问题所在,也是我真正可以使用一些帮助的地方。

每个示例都包含某种类型的Web应用。

0 个答案:

没有答案
相关问题