具有Azure Active Directory和Swagger的客户端凭据授权

时间:2019-01-24 00:36:38

标签: azure azure-active-directory swagger swagger-ui nswag

需要获取授权令牌才能访问在本地主机上运行的应用程序。我从UseSwaggerUi3中的Swagger OAuth2客户端向AAD令牌端点查询令牌。我收到CORS错误,指示端点不允许我的本地主机发出跨源请求。我该如何解决?

[编辑] 如果使用Fiddler将POST请求发送到同一端点,则能够获得令牌。

2 个答案:

答案 0 :(得分:1)

您不能从前端使用客户端凭据流。首先,因为您的秘密对于任何看到该页面的人都是可见的。

第二,因为Azure AD阻止了对其令牌终结点的跨源请求。 (如您所见)

您需要在用户上下文中使用授权代码或隐式流。或构建另一个API,该API在后端获取令牌并使用它调用另一个API。

答案 1 :(得分:-1)

CORS是跨源资源,它将允许在2个不同源上工作的两个不同的Web应用程序相互通信。 有两种启用cors的方法 1)进入天蓝色-网络应用-设置列搜索-信息。 2)将新的cors标头添加为“ *”,这意味着它将允许所有请求Web应用程序的URL,您还提供了一个特定的URL。 3)保存。 4)第二种方法是在网络配置标头中允许代码中的cors标头。