我已经看到了一百万个不同的答案,但没有一个起作用。
有人可以给我一个适用于的链接吗
我有一个Web API,我已经在Azure上注册了它。我已配置Azure Active Directory。
我有一个tenantId,一个clientId,一个客户端Secret以及我需要的所有其他变量。
我可以通过MVC控制器通过AD将用户登录到我的系统中,如何使用Web api进行同样的操作?
我基本上需要生成AD令牌,以便可以继续在MVC控制器之外使用API。
它必须是相同的令牌,因为我需要从API的客户端访问Microsoft图形。
帮助!
答案 0 :(得分:0)
由客户来获取令牌并将其传递给您的API。您没有指定客户端是什么(即Web,iOS,Android),但是由于您使用的是Azure AD,因此您可以使用Microsoft提供的适当的ADAL库来执行此操作。
答案 1 :(得分:0)
我可以通过MVC控制器通过AD将用户登录到我的系统, 我可以使用Web api做同样的事情吗?
如果您对服务器到服务器的交互感兴趣,而又没有用户端的直接交互,可以看看OAuth 2.0 Client Credentials Grant Flow for AZAD。
随附的文章包含简单的实现示例。我认为对于您来说,example with a daemon/console app(只需使用Web API替换它)就可以了。下载示例,替换带有您的appsettings.json中的配置(实例,TenantId,ClientId和ClientSecret),然后尝试使用它。