如何确保Azure静态Web应用client principal的userDetails为Okta用户邮箱
确保Azure静态Web应用中Okta认证的userDetails返回邮箱
要让Azure静态Web应用从Okta获取的userDetails字段返回用户邮箱而非全名,可通过以下关键配置实现:
1. 配置Okta应用的ID Token声明
在Okta管理控制台中操作你的OpenID Connect应用:
- 进入应用程序 > 目标应用 > 编辑 > OpenID Connect ID Token设置
- 在声明区域,确保
email声明被包含在ID Token中;同时在Okta用户配置里,将用户的登录用户名设置为邮箱地址。
2. 在Azure静态Web应用配置中指定用户标识符字段
修改staticwebapp.config.json的Okta配置部分,添加userDetailsClaim参数,明确指定提取email声明的值填充到userDetails:
{ "auth": { "identityProviders": { "customOpenIdConnectProviders": { "okta": { "registration": { // 你的注册参数 }, "login": { "scopes": ["openid", "profile", "email"], "userDetailsClaim": "email" } } } } } }
userDetailsClaim属性会指示Azure静态Web应用从Okta返回的ID Token中提取email声明的值,作为userDetails的内容。只要Okta已在ID Token中包含email声明(请求email scope即可触发),就能保证userDetails返回的是用户邮箱。
内容的提问来源于stack exchange,提问作者Amessihel
相关产品推荐
相关产品推荐

