【Azure 应用服务】能否通过 Authentication 模块配置 Azure AD 保护 API 应用?

问题描述

在App Service Authentication 中配置 Azure AD 注册的应用信息后,根据官方文档,可以让前端应用实现用户 AAD 登录,然后通过前端应用获取的Token,来访问后端的API应用。

 

前端用户登录 ====》 获取访问前端应用Token ====》调用后端API时候传递Token到后端服务 ====》 API 验证 Token ====》授权提供API数据

 

这一目的是为了实现前后端分离后,前端应用的权限也可以访问后端服务。在中国区的App Service中是否可以配置呢?

 

问题解答

是可以实现的。可以按照以下文档开启针对前端应用的身份验证和授权。教程:在 Azure 应用服务中对用户进行端到端身份验证和授权

在配置过程中,需要的注意点有二:

 

1) 在操作“对应用服务进行配置,使之返回可用的访问令牌”时,因为中国区暂时没有Azure Resource Explorer门户,所以只能通过REST API的形式来配置。

替代的操作办法参考如下:

https://management.chinacloudapi.cn/subscriptions/<subscriptionid>/resourceGroups/< resourceGroups >/providers/microsoft.web/sites/<sitename>/config/authsettings/?api-version=2020-12-01

 

body 信息:

{

    "properties": {

        "additionalLoginParams": ["response_type=code id_token","resource=xxxxss-ssss5-43ssse-bsssse-xxxxxxxxxxxx"]

    }

}

中国区无 Azure Resource Explorer。

 

 

 

 

2)在前端应用中向后端传递Token

在配置前端应用访问后端接口的代码部分:需要显示的传递Token。详细可借鉴:

 

 

参考资料

 Authenticate and authorize users end-to-end in Azure App Service:https://docs.microsoft.com/en-us/azure/app-service/tutorial-auth-aad?pivots=platform-linux#call-api-securely-from-server-code

 

posted @ 2021-08-23 19:33  路边两盏灯  阅读(134)  评论(0编辑  收藏  举报