Microsoft graph api 如何使用Microsoft graph通过匿名用户帐户获取访问令牌?

Microsoft graph api 如何使用Microsoft graph通过匿名用户帐户获取访问令牌?,microsoft-graph-api,Microsoft Graph Api,在我的.NETMVC项目中,如果用户登录系统,他将收到电子邮件,系统稍后将发送欢迎电子邮件 我的问题是,我不希望每个用户都登录并通过授权过程来获取他的个人信息,例如电子邮件、用户名 考虑到上述情况,经过研究,我发现Microsoft graph可以帮助我解决我的问题。然而,我不确定在哪里挖 有人能告诉我怎么做吗?根据我们可以从一些后台服务或守护进程获取访问令牌 根据我的测试,我们可以尝试以下步骤: 首先,我们应该获得管理员的同意: app.UseOpenIdConnectAuthenticati

在我的.NET
MVC
项目中,如果用户登录系统,他将收到电子邮件,系统稍后将发送欢迎电子邮件

我的问题是,我不希望每个用户都登录并通过授权过程来获取他的个人信息,例如电子邮件、用户名

考虑到上述情况,经过研究,我发现Microsoft graph可以帮助我解决我的问题。然而,我不确定在哪里挖

有人能告诉我怎么做吗?

根据我们可以从一些后台服务或守护进程获取访问令牌

根据我的测试,我们可以尝试以下步骤: 首先,我们应该获得管理员的同意:

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
                                           {
                                               ClientId = clientId,
                                               Authority = authority,
                                               RedirectUri = redirectUri,
                                               PostLogoutRedirectUri = redirectUri,
                                               Scope = "openid profile",
                                               ResponseType = "id_token",
                                               TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = false, NameClaimType = "name" },
                                               Notifications = new OpenIdConnectAuthenticationNotifications
                                                               {
                                                                   AuthenticationFailed = this.OnAuthenticationFailedAsync,
                                                                   SecurityTokenValidated = this.OnSecurityTokenValidatedAsync
                                                               }
                                           });

ConfidentialClientApplication daemonClient = new ConfidentialClientApplication(Startup.clientId, string.Format(AuthorityFormat, tenantId), Startup.redirectUri,
                                                                                       new ClientCredential(Startup.clientSecret), null, appTokenCache.GetMsalCacheInstance());
AuthenticationResult authResult = await daemonClient.AcquireTokenForClientAsync(new[] { MSGraphScope });
其次,我们可以通过url:
https://graph.microsoft.com/v1.0/users/{电子邮件地址}
。例如,
https://graph.microsoft.com/v1.0/users/xxx.outlook.com

然后,我们可以像这样使用API:
POSThttps://graph.microsoft.com/v1.0/{user id | userPrincipalName}/sendMail
,对此,我们可以参考

有关更多详细信息,我们可以从GitHub上下载简单的