All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.flyfish.oauth.configuration.DefaultUserService Maven / Gradle / Ivy

There is a newer version: 1.0.7
Show newest version
package com.flyfish.oauth.configuration;

import com.flyfish.oauth.configuration.tools.UserConverter;
import com.flyfish.oauth.domain.raw.LocalUser;
import com.flyfish.oauth.domain.raw.SSOUserInfo;

/**
 * 默认的用户service,提供默认实现
 *
 * @author wybab
 * 如果需要更加精准的控制,请实现
 * @see com.flyfish.oauth.configuration.OAuth2SsoUserService
 * 

本默认实现不支持用户补全

*/ public class DefaultUserService implements OAuth2SsoUserService { // 用户转换器,使用转换器处理业务 private final UserConverter userConverter; /** * 默认构造器,传入用户转换器。如果spring存在,可以自动实例化 * * @param userConverter 用户转换器 */ public DefaultUserService(UserConverter userConverter) { this.userConverter = userConverter; } /** * 转换用户为本地用户 * * @param userInfo 平台用户信息 * @return 结果 */ @Override public T getUser(SSOUserInfo userInfo) { // 可以通过localUser对象的outerId获取本地用户 LocalUser localUser = userInfo.localUser(); if (null != localUser) { return userConverter.convert(localUser); } return null; } /** * 创建用户 * * @param userInfo 平台用户信息 * @return 结果 */ @Override public T completeUser(SSOUserInfo userInfo) { // 当获取用户返回null,跳入的备选路径,可以创建临时用户或模糊查询用户,请慎用,默认返回null即可。 return getUser(userInfo); } /** * 判断用户是否存在 * * @param userInfo 平台用户信息 * @return 结果 */ @Override public boolean exists(SSOUserInfo userInfo) { // 如果您不需要模糊匹配用户,直接返回true即可(建议),否则,请返回用户的存在性 return true; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy