我已经部署了API App
天青,但我有,如果验证(与AAD)设置为ON创建API客户端的问题。如何饮用Azure的REST API应用程序与Azure的Active Directory的授权在
当我尝试生成服务客户端(当身份验证为OFF时),然后生成客户端代码(使用Autorest完成)并且代码正常工作,但是当我切换身份验证开启时(以及在请求未通过身份验证时采取的操作被设置为Login with Azure Active Directory
),然后
1)服务调用返回401 Unauthorized
(不重定向到AAD登录页)
2)然后我试图生成服务端一次(从项目的上下文菜单 - >添加 - > REST API客户端 - >然后在对话框中选择“选择Azure资产”,然后按“确定”,并收到消息"Failed to download metadata file for Microsoft Azure API App: ...app name..."
(和“没有附加信息可用“)
我(使用Express设置)根据本Azure的手动实现AAD:
根据这个视频时,也和一切什么是在这个视频中所示是工作,除了AAD未证实......对我来说不工作...
有什么建议?
编辑
1)如果我输入请求的URL(即REST API客户端使用)的网络浏览器 - 然后返回结果有效 2)我发现我使用REST API无凭据(我认为Azure的AD登录屏幕应该在这种情况下提出的...但它不是)
EDIT 2
我得到了一些进步 - 到了AAD登录屏幕,但进入后华创dentials我得到的bearer token
,但是当我尝试查询服务,我得到一个错误信息:
AADSTS65005: The client application has requested access to resource 'https....azurewebsites.net'. This request has failed because the client has not specified this resource in its requiredResourceAccess list. Trace ID: 4176e... Correlation ID: 1d612d... Timestamp: 2016-11-13 18:28:34Z
这些是远远得到这个我已经做了步骤:
0)添加了Microsoft.IdentityModel.Clients。ActiveDirectory中的NuGet包到客户端项目
1)登记在Azure中的Active Directory我的客户端应用程序
2)从客户端应用程序调用REST API的时候,我加入ServiceClientCredentials
3)创建ServiceClientCredentials当我提供4元件 -authority =这是从AAD应用注册 - >端点=>联邦元数据文档vērtība(无起始部分http://login.windows.net/
)
-resource =>这是REST API URI(=>目标资源的标识符这是收到的请求令牌的收件人)
-clientId =>这是我注册客户端应用程序在AAD后得到的应用程序ID -redirect Uri =>因为我的客户端应用程序是本机应用程序,那么这只是任何有效的网址
如何在我的客户端应用程序中指定此资源?
client has not specified this resource in its requiredResourceAccess list
P.S.此资源为我提供了查找解决方案所需的大部分资源http://developers.de/blogs/damir_dobric/archive/2016/05/24/aad-authentication-with-rest-api-client.aspx – Prokurors