![](/img/trans.png)
[英]Spring Boot OAuth2.0 with Azure Authentication Error - Missing required "user name" attribute name in UserInfoEndpoint for Client Registration: azure
[英]OAuth2 Spring boot Missing required "user name
我正在嘗試使用 Spring Boot OAuth 通過 Zoom 在我的應用程序上進行授權( https://marketplace.zoom.us/docs/guides/auth )
我正在嘗試打開頁面( /zoom
端點),我的應用程序將我重定向到 Zoom。 在這里,我進入縮放帳戶,Spring 將我重定向到錯誤頁面:
[missing_user_name_attribute] Missing required "user name" attribute name in UserInfoEndpoint for Client Registration: zoom
不知道如何處理它。 這是我的代碼
配置
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/", "/login**", "/error**").permitAll()
.anyRequest().authenticated()
.and().logout().logoutUrl("/logout").logoutSuccessUrl("/")
.and().oauth2Login();
}
@Bean
public ClientRegistrationRepository clientRegistrationRepository() {
List<ClientRegistration> registrations = new ArrayList<>();
registrations.add(zoomClientRegistration());
return new InMemoryClientRegistrationRepository(registrations);
}
private ClientRegistration zoomClientRegistration() {
return ClientRegistration.withRegistrationId("zoom")
.clientId(/**myClientId**/)
.clientSecret(/**{myClientSecret}**/)
.clientAuthenticationMethod(ClientAuthenticationMethod.BASIC)
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
.redirectUriTemplate("{baseUrl}/login/oauth2/code/{registrationId}")
.authorizationUri("https://zoom.us/oauth/authorize")
.tokenUri("https://zoom.us/oauth/token")
.userInfoUri("https://api.zoom.us/v2/user")
.clientName("Zoom").build();
}
}
在 Zoom 應用程序中,我已配置
為 OAuth 重定向 URL: http://{my_host_name}/login/oauth2/code/zoom
白名單網址: http://{my_host_name}/zoom
我的應用程序在/zoom
也有端點
您必須在 ClientRegistration 添加 userNameAttributeName 並設置為正確的用戶名屬性,它可以是 openId 的“sub”,但也可以是“email”、“id”檢查https://api.zoom.us/v2 /user響應以查找匹配的屬性。
問候
對我來說,當我嘗試使用Spotify Oauth2.0 和 Spring Boot 2.5.4 進入經過身份驗證的端點(在我的 java 應用程序中)時,會發生異常。 我缺少財產:
spring.security.oauth2.client.provider.spotify.userNameAttribute=email
這在spring Oauth2 文檔中有所描述
缺少屬性也會發生類似的異常:
spring.security.oauth2.client.provider.spotify.user-info-uri=https://api.spotify.com/v1/me
然后拋出異常: [missing_user_info_uri] Missing required UserInfo Uri in UserInfoEndpoint for Client Registration: spotify
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.