AuthUtil.java 文件源码

java
阅读 41 收藏 0 点赞 0 评论 0

项目:osoon 作者:
public void authenticate(Connection<?> connection) {
    Facebook facebook = (Facebook) connection.getApi();
    String [] fields = { "id", "name", "email", "first_name", "last_name" };
    User userProfile = facebook.fetchObject("me", User.class, fields);
    String username = userProfile.getName();

    log.info("User Profile by facebook {} {} {}", userProfile.getFirstName(), userProfile.getLastName(), userProfile.getEmail());

    Optional<io.osoon.domain.User> byEmail = userService.findByEmail(userProfile.getEmail());
    io.osoon.domain.User osoonUser;

    if (byEmail.isPresent()) {
        osoonUser = byEmail.get();
    } else {
        io.osoon.domain.User newUser = io.osoon.domain.User.of(userProfile.getEmail(), username);
        newUser.setImageUrl(connection.getImageUrl());
        osoonUser = userService.saveOne(newUser);
    }

    OSoonUserDetails userDetails = new OSoonUserDetails(osoonUser);
    RememberMeAuthenticationToken rememberMeToken = new RememberMeAuthenticationToken("osoon-remember-me", userDetails, null);
    SecurityContextHolder.getContext().setAuthentication(rememberMeToken);

    log.info("User {} {} {} connected.", userProfile.getFirstName(), userProfile.getLastName(), userProfile.getEmail());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号