可能看起来很愚蠢,但我认为微软的文档并不是非常适合初学者。它使用登录网址的“http://localhost:31544”和重定向URI的“http://MyFirstAADApp”示例,但我知道本地主机是什么,我无法弄清楚究竟是什么我是如何以及如何为我的应用程序定义它们,并且绝对不知道重定向URI应该为本机应用程序做什么,以及我应该如何为自己定义URI。
为了更清楚我正在尝试添加什么类型的应用程序,我只想访问Office 365管理API工具并从中获取一些数据,因此我认为本机应用程序现在可以满足我的需求。根据Microsoft的文档,在Azure AD上注册应用程序是必需的。
因此扩展标题,如何为我的原生应用程序定义URI是我主要想知道的。进一步澄清这个URI的目的究竟是什么以及如何使用和/或定义Web应用程序的localhost URL也将非常感激。
答案 0 :(得分:2)
如何为我的原生应用定义URI是我主要想要的 知道。
您应该向应用程序提供唯一的重定向URI,因为它将在身份验证完成后返回此URI。
在您的应用程序中,您需要添加身份验证流程所需的类级别变量,包括ClientId
和Redirect URI
。
以下是图表:
本机应用程序向Azure AD中的授权端点发出请求,此请求包含Web api的Application IP
,Redirect URI
和application ID URI
。
用户登录后,Azure AD会向客户端应用程序的重定向URI发出授权代码响应返回。之后,客户端应用程序停止浏览器交互,并从响应中提取授权代码。
然后,客户端应用程序使用此代码向Azure AD的令牌端点发送请求。成功验证后,Azure AD将返回两个令牌。
通过HTTPS,客户端应用程序使用返回的JWT访问令牌在Web API的请求的Authorization标头中添加带有“Bearer”标识的JWT字符串。然后,Web API验证JWT令牌,如果验证成功,则返回所需的资源。
有关它的更多信息,请参阅此article。
答案 1 :(得分:0)
对于本机,您可以将重定向设置为等于应用程序ID URI,现在默认情况下看起来像// app:{ApplicationId}
答案 2 :(得分:0)
重定向 uri 以 SSL URL 开头,因此选择您的项目,启用 SSL URL 并使用此自动生成的 SSL URL(例如:https://localhost:port#)作为重定向 uri,同样在 azure 中更新应用注册为额外的重定向 URI