zoukankan      html  css  js  c++  java
  • 【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

    当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

  • 相关阅读:
    等宽布局和flex
    antd按需加载
    linux-redis cluster集群(redis5.x)
    linux-mysql-主从同步
    mysql-行转列
    Spring Bean 作用域
    ArrayList、LinkedList区别(jdk8)
    java类及实例初始化顺序
    线程池-结构
    GIT基础
  • 原文地址:https://www.cnblogs.com/lulight/p/15176891.html
Copyright © 2011-2022 走看看