AuthRequest.java 1.3 KB
Newer Older
智布道's avatar
智布道 已提交
1 2
package me.zhyd.oauth.request;

3
import me.zhyd.oauth.config.AuthConfig;
智布道's avatar
智布道 已提交
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
import me.zhyd.oauth.exception.AuthException;
import me.zhyd.oauth.model.AuthResponse;

import javax.servlet.http.HttpServletResponse;

/**
 * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
 * @version 1.0
 * @website https://www.zhyd.me
 * @date 2019/1/31 15:45
 * @since 1.8
 */
public interface AuthRequest {

    /**
     * 自动跳转到认证页面
     *
21
     * @param config   授权的配置,对应不同平台
智布道's avatar
智布道 已提交
22 23
     * @param response response
     */
24
    default void authorize(AuthConfig config, HttpServletResponse response) {
智布道's avatar
智布道 已提交
25 26 27 28 29
        throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
    }

    /**
     * 返回认证url,可自行跳转页面
30 31
     *
     * @param config 授权的配置,对应不同平台
智布道's avatar
智布道 已提交
32
     */
33
    default String authorize(AuthConfig config) {
智布道's avatar
智布道 已提交
34 35 36 37 38 39
        throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
    }

    /**
     * 第三方登录
     *
40 41
     * @param config 授权的配置,对应不同平台
     * @param code   通过authorize换回的code
智布道's avatar
智布道 已提交
42 43
     * @return 返回登陆成功后的用户信息
     */
44
    default AuthResponse login(AuthConfig config, String code) {
智布道's avatar
智布道 已提交
45 46 47
        throw new AuthException(ResponseStatus.NOT_IMPLEMENTED);
    }
}