Azure APIM开发者门户未认证可访问页面:如何强制仅认证用户访问
解决Azure APIM开发者门户强制认证访问/apis页面的问题
方法一:全局强制开发者门户认证
- 登录Azure门户,进入目标APIM实例
- 左侧导航栏选择开发者门户,点击设置
- 在访问控制选项卡中,将访问权限设置为需要身份验证
- 保存设置后,开发者门户所有页面(包括
/apis)都会强制用户完成认证才能访问
方法二:针对/apis页面单独做访问限制
如果只需限制/apis页面而非全局,可通过自定义门户代码实现:
- 进入开发者门户的编辑模式(点击页面右上角的"编辑"按钮)
- 找到负责渲染
/apis页面的组件(通常是ApiList类组件) - 在组件初始化逻辑中添加认证校验逻辑:
// 校验用户是否已完成认证 if (!window.auth.isAuthenticated()) { window.location.href = '/signin'; // 未认证则跳转至登录页 } - 发布开发者门户的更改,使配置生效
方法三:通过APIM策略限制开发者门户API的访问
- 进入APIM实例的API列表,找到名为
developer-portal的内置API - 为该API添加入站策略,强制校验认证凭证:
若使用基础认证,可配置validate-basic策略:
若使用JWT认证,可配置<inbound> <base /> <validate-basic username="指定用户名" password="指定密码" failed-validation-httpcode="401" failed-validation-error-message="请提供有效认证凭证" /> </inbound>validate-jwt策略:<inbound> <base /> <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="未授权访问,请先认证"> <openid-config url="你的身份提供商的OpenID配置地址" /> </validate-jwt> </inbound> - 保存策略后,访问开发者门户的所有页面都会被强制要求提供有效认证
内容的提问来源于stack exchange,提问作者Javi
相关产品推荐
相关产品推荐

