第三方登录集成完全指南前言第三方登录如微信、QQ、GitHub可以简化用户注册流程提升用户体验。一、OAuth2第三方登录1.1 GitHub登录配置spring: security: oauth2: client: registration: github: client-id: ${GITHUB_CLIENT_ID} client-secret: ${GITHUB_CLIENT_SECRET} scope: read:user, user:email provider: github: authorization-uri: https://github.com/login/oauth/authorize token-uri: https://github.com/login/oauth/access_token user-info-uri: https://api.github.com/user user-name-attribute: login1.2 微信登录配置spring: security: oauth2: client: registration: wechat: client-id: ${WECHAT_APP_ID} client-secret: ${WECHAT_APP_SECRET} authorization-grant-type: authorization_code redirect-uri: {baseUrl}/login/oauth2/code/{registrationId} provider: wechat: authorization-uri: https://open.weixin.qq.com/connect/qrconnect token-uri: https://api.weixin.qq.com/sns/oauth2/access_token user-info-uri: https://api.weixin.qq.com/sns/userinfo二、自定义OAuth2ProviderConfiguration public class CustomOAuth2ProviderConfig { Bean public ClientRegistrationRepository clientRegistrationRepository() { return new InMemoryClientRegistrationRepository( wechatRegistration(), gitHubRegistration() ); } private ClientRegistration wechatRegistration() { return ClientRegistration.withRegistrationId(wechat) .clientId(wechat-app-id) .clientSecret(wechat-app-secret) .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_POST) .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE) .redirectUri({baseUrl}/login/oauth2/code/wechat) .scope(snsapi_login) .authorizationUri(https://open.weixin.qq.com/connect/qrconnect) .tokenUri(https://api.weixin.qq.com/sns/oauth2/access_token) .userInfoUri(https://api.weixin.qq.com/sns/userinfo) .userNameAttributeKey(openid) .clientName(WeChat) .build(); } }三、总结第三方登录集成可以简化用户注册流程通过OAuth2协议实现安全的授权。
第三方登录集成完全指南
发布时间:2026/5/25 0:51:57
第三方登录集成完全指南前言第三方登录如微信、QQ、GitHub可以简化用户注册流程提升用户体验。一、OAuth2第三方登录1.1 GitHub登录配置spring: security: oauth2: client: registration: github: client-id: ${GITHUB_CLIENT_ID} client-secret: ${GITHUB_CLIENT_SECRET} scope: read:user, user:email provider: github: authorization-uri: https://github.com/login/oauth/authorize token-uri: https://github.com/login/oauth/access_token user-info-uri: https://api.github.com/user user-name-attribute: login1.2 微信登录配置spring: security: oauth2: client: registration: wechat: client-id: ${WECHAT_APP_ID} client-secret: ${WECHAT_APP_SECRET} authorization-grant-type: authorization_code redirect-uri: {baseUrl}/login/oauth2/code/{registrationId} provider: wechat: authorization-uri: https://open.weixin.qq.com/connect/qrconnect token-uri: https://api.weixin.qq.com/sns/oauth2/access_token user-info-uri: https://api.weixin.qq.com/sns/userinfo二、自定义OAuth2ProviderConfiguration public class CustomOAuth2ProviderConfig { Bean public ClientRegistrationRepository clientRegistrationRepository() { return new InMemoryClientRegistrationRepository( wechatRegistration(), gitHubRegistration() ); } private ClientRegistration wechatRegistration() { return ClientRegistration.withRegistrationId(wechat) .clientId(wechat-app-id) .clientSecret(wechat-app-secret) .clientAuthenticationMethod(ClientAuthenticationMethod.CLIENT_SECRET_POST) .authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE) .redirectUri({baseUrl}/login/oauth2/code/wechat) .scope(snsapi_login) .authorizationUri(https://open.weixin.qq.com/connect/qrconnect) .tokenUri(https://api.weixin.qq.com/sns/oauth2/access_token) .userInfoUri(https://api.weixin.qq.com/sns/userinfo) .userNameAttributeKey(openid) .clientName(WeChat) .build(); } }三、总结第三方登录集成可以简化用户注册流程通过OAuth2协议实现安全的授权。