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

fun.fengwk.convention4j.oauth2.server.repo.OAuth2TokenRepository Maven / Gradle / Ivy

There is a newer version: 1.1.14
Show newest version
package fun.fengwk.convention4j.oauth2.server.repo;

import fun.fengwk.convention4j.oauth2.server.model.OAuth2Token;

/**
 * OAuth2令牌仓储
 *
 * @author fengwk
 */
public interface OAuth2TokenRepository {

    /**
     * 生成令牌id
     *
     * @return 令牌id
     */
    long generateId();

    /**
     * 添加OAuth2令牌
     *
     * @param oauth2Token            OAuth2令牌
     * @param authorizeExpireSeconds 授权过期时间,单位秒
     * @return 是否添加成功
     */
    boolean add(OAuth2Token oauth2Token, int authorizeExpireSeconds);

    /**
     * 根据id更新OAuth2令牌
     *
     * @param oauth2Token OAuth2令牌
     * @param authorizeExpireSeconds 授权过期时间,单位秒
     * @return 是否更新成功
     */
    boolean updateById(OAuth2Token oauth2Token, int authorizeExpireSeconds);

    /**
     * 通过访问令牌删除
     *
     * @param accessToken 访问令牌
     * @return 是否发生了删除
     */
    boolean removeByAccessToken(String accessToken);

    /**
     * 通过访问令牌获取OAuth2令牌
     *
     * @param accessToken 访问令牌
     * @return OAuth2令牌
     */
    OAuth2Token getByAccessToken(String accessToken);

    /**
     * 通过刷新令牌获取OAuth2令牌
     *
     * @param refreshToken 刷新令牌
     * @return OAuth2令牌
     */
    OAuth2Token getByRefreshToken(String refreshToken);

    /**
     * 使用单点登陆id获取
     *
     * @param ssoId 单点登陆id
     * @return OAuth2令牌
     */
    OAuth2Token getBySsoId(String ssoId);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy