我有一个cordova应用程序,正在使用azure AD cordova插件进行身份验证,并且一切正常。但是现在我正在集成在另一个域中发布的服务,并且无法使用认证后生成的mobiletoken对这些服务进行认证。有人可以指导我如何保护发布为Azure Web API的多个域API的安全,以及如何使用令牌访问受保护的API。
我尝试通过包含两个API的回复URL来修改其中一个API的Azure门户中的安全设置
当我将令牌包含在进入第二个域端点的ajax请求的标头中时,我只会收到“未授权”错误。
答案 0 :(得分:0)
听起来您可以在Cordova设置中获得访问令牌,并且在用户登录后访问多个Web API时遇到问题。
我建议您使用的身份验证协议是流的代表,在此处进行了记录:https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow
根据摘要:
OAuth 2.0代理流(OBO)用于应用程序调用服务/网络API的用例,而服务/网络API又需要调用另一个服务/网络API。这个想法是通过请求链传播委派的用户身份和权限。为了使中间层服务向下游服务发出经过身份验证的请求,它需要代表用户保护来自Microsoft身份平台的访问令牌。
这是为了获得具有适当受众群体的新访问令牌,以访问Web api2。