我有一个Web Api(只是启用了Azure AD授权选项的VS向导的结果)。我想直接测试此api,而不使用Azure API管理门户或其他任何工具。特别是我想使用高级REST客户端(通常称为ARC:https : //chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo),但是任何Web客户端都会适合我,例如curl。
有人可以通过所有必要的步骤来执行适当的授权或就此主题推荐好的资源吗?
我希望所有工作都可以手动完成,除了浏览器和curl或arc以外,不要使用任何其他工具
要向受Azure AD保护的Web API发出请求,我们需要通过OAuth 2.0获取访问令牌。在通过Visual Studio创建Web API项目之后,我们仍然需要在Azure门户上注册一个用于调用Web API的应用程序。
例如,当我使用带有Azure AD身份验证的Visual Studio向导创建Web API项目active-directory-webapi时,Azure AD为我创建了一个应用程序active-directory-webapi。
然后,我通过此链接打开Azure AD门户,并注册一个名为active-directory-webapi-client的Web应用程序。由于它是一个Web应用程序,因此我们需要为其生成一个秘密。要使用调用Web API,我们需要添加Web API应用程序以为其授予权限。这是我手动注册的应用程序基本信息的图:
然后,我们可以使用OAuth 2.0要求此应用提供令牌:
Get: https://login.microsoftonline.com/{tenantId}/oauth2/authorize?response_type=code&client_id={clientId in figure }&redirect_uri={redirect Url in figure}
然后,我们需要输入用户名/密码并在Url中获取OAuth代码。我们可以通过以下请求通过OAuth代码获取令牌:
POST: https://login.microsoftonline.com/{tenantId}/oauth2/token
client_id={client_id in figure}&client_secret{secret in figure}&code={OAuth code in the previews request}&grant_type=authorization_code&redirect_uri={ redirect Url in figure }&resource={ it as the Audience in the web.config of web API project}
最后,我们可以使用上面请求中的令牌来调用Web API:
Get: https://localhost:44305/api/values
authorization: bearer {accessToken}
您可以在此处参考有关OAuth 2.0授权流程的更多详细信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句