Angularjs 弹簧靴oauth&;facebook参考
我开始在SpringBoot中使用OAUTH2。我目前正在尝试编辑此网站上的简单示例: 但我想展示更多的登录者,如电子邮件、年龄和可以在这里找到的东西: 你们能给我一些建议来获取上面url中描述的任何信息吗 此部分用作登录:Angularjs 弹簧靴oauth&;facebook参考,angularjs,facebook,spring-boot,oauth-2.0,yaml,Angularjs,Facebook,Spring Boot,Oauth 2.0,Yaml,我开始在SpringBoot中使用OAUTH2。我目前正在尝试编辑此网站上的简单示例: 但我想展示更多的登录者,如电子邮件、年龄和可以在这里找到的东西: 你们能给我一些建议来获取上面url中描述的任何信息吗 此部分用作登录: <div class="container" ng-show="!home.authenticated"> With Facebook: <a href="/login">click here</a> </div>
<div class="container" ng-show="!home.authenticated">
With Facebook: <a href="/login">click here</a>
</div>
这是YAML文件
facebook:
client:
clientId: xxxxxxxxxx
clientSecret: xxxxxxxxxxxxxxxxxxxxxx
accessTokenUri: https://graph.facebook.com/oauth/access_token
userAuthorizationUri: https://www.facebook.com/dialog/oauth
tokenName: oauth_token
authenticationScheme: query
clientAuthenticationScheme: form
resource:
userInfoUri: https://graph.facebook.com/me
logging:
level:
org.springframework.security: DEBUG
我真的很茫然,希望有人能帮我从facebook上获取更多信息
@SpringBootApplication
@RestController
@EnableOAuth2Client
public class SocialApplication extends WebSecurityConfigurerAdapter {
@Autowired
OAuth2ClientContext oauth2ClientContext;
@RequestMapping("/user")
public Principal user(Principal principal) {
return principal;
}
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http.antMatcher("/**").authorizeRequests().antMatchers("/", "/login**", "/webjars/**").permitAll().anyRequest()
.authenticated().and().exceptionHandling()
.authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/")).and().logout()
.logoutSuccessUrl("/").permitAll().and().csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).and()
.addFilterBefore(ssoFilter(), BasicAuthenticationFilter.class);
// @formatter:on
}
public static void main(String[] args) {
SpringApplication.run(SocialApplication.class, args);
}
@Bean
public FilterRegistrationBean oauth2ClientFilterRegistration(OAuth2ClientContextFilter filter) {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(filter);
registration.setOrder(-100);
return registration;
}
private Filter ssoFilter() {
OAuth2ClientAuthenticationProcessingFilter facebookFilter = new OAuth2ClientAuthenticationProcessingFilter(
"/login/facebook");
OAuth2RestTemplate facebookTemplate = new OAuth2RestTemplate(facebook(), oauth2ClientContext);
facebookFilter.setRestTemplate(facebookTemplate);
UserInfoTokenServices tokenServices = new UserInfoTokenServices(facebookResource().getUserInfoUri(),
facebook().getClientId());
tokenServices.setRestTemplate(facebookTemplate);
facebookFilter.setTokenServices(
new UserInfoTokenServices(facebookResource().getUserInfoUri(), facebook().getClientId()));
return facebookFilter;
}
@Bean
@ConfigurationProperties("facebook.client")
public AuthorizationCodeResourceDetails facebook() {
return new AuthorizationCodeResourceDetails();
}
@Bean
@ConfigurationProperties("facebook.resource")
public ResourceServerProperties facebookResource() {
return new ResourceServerProperties();
}
谢谢你的帮助
facebook:
client:
clientId: xxxxxxxxxx
clientSecret: xxxxxxxxxxxxxxxxxxxxxx
accessTokenUri: https://graph.facebook.com/oauth/access_token
userAuthorizationUri: https://www.facebook.com/dialog/oauth
tokenName: oauth_token
authenticationScheme: query
clientAuthenticationScheme: form
resource:
userInfoUri: https://graph.facebook.com/me
logging:
level:
org.springframework.security: DEBUG