Java Pac4J OIDCConfiguration联系人范围始终为';openid配置文件电子邮件';不在WebContext而不是OidcConfiguration中时
OIDC请求的范围决定了OpenID服务器请求和返回的信息 在OIDCConfiguration中,我已设置范围应为“openid电子邮件配置文件脱机访问”,但当为Azure AD Open ID服务生成重定向URL时,始终只指定“openid电子邮件配置文件” 我已经找到了OIDCDirectionBuilder,它使用的是OIDCConfiguration上下文类,当在WebContext请求属性中找不到该值时,该类始终默认为“openid配置文件电子邮件”的作用域 此时,我不确定如何为Pac4J生成的第一个重定向填充WebContext请求属性范围 否则,我可能需要重载当前类,以便OidcConfigurationContext将配置中的值用作WebContext中未指定的默认值,如下所示:Java Pac4J OIDCConfiguration联系人范围始终为';openid配置文件电子邮件';不在WebContext而不是OidcConfiguration中时,java,openid-connect,pac4j,Java,Openid Connect,Pac4j,OIDC请求的范围决定了OpenID服务器请求和返回的信息 在OIDCConfiguration中,我已设置范围应为“openid电子邮件配置文件脱机访问”,但当为Azure AD Open ID服务生成重定向URL时,始终只指定“openid电子邮件配置文件” 我已经找到了OIDCDirectionBuilder,它使用的是OIDCConfiguration上下文类,当在WebContext请求属性中找不到该值时,该类始终默认为“openid配置文件电子邮件”的作用域 此时,我不确定如何为Pa
public class OidcConfigurationContext2 extends OidcConfigurationContext {
private final WebContext webContext;
public OidcConfigurationContext2(
final WebContext webContext,
final OidcConfiguration oidcConfiguration) {
super(webContext, oidcConfiguration);
this.webContext = webContext;
}
@Override
public String getScope() {
final String configuredScope =
Optional.ofNullable(getConfiguration().getScope())
.orElse("openid profile email");
return (String) this.webContext.getRequestAttribute(OidcConfiguration.SCOPE)
.orElse(configuredScope);
}
}
我的问题是,在Pac4J 5.0.0中,OIDCConfiguration上下文是否默认为作用域的openid电子邮件配置文件,而不使用OIDCConfiguration作为回退值