ToutiaoUrlBuilder.java 1.6 KB
Newer Older
1 2 3
package me.zhyd.oauth.url;

import me.zhyd.oauth.config.AuthSource;
智布道's avatar
智布道 已提交
4
import me.zhyd.oauth.url.entity.AuthUserInfoEntity;
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

import java.text.MessageFormat;

/**
 * 今日头条相关的URL构建类
 *
 * @author yadong.zhang (yadong.zhang0415(a)gmail.com)
 * @version 1.0
 * @since 1.8
 */
public class ToutiaoUrlBuilder extends AbstractUrlBuilder {

    private static final String TOUTIAO_ACCESS_TOKEN_PATTERN = "{0}?client_key={1}&client_secret={2}&code={3}&grant_type=authorize_code";
    private static final String TOUTIAO_USER_INFO_PATTERN = "{0}?client_key={1}&access_token={2}";
    private static final String TOUTIAO_AUTHORIZE_PATTERN = "{0}?client_key={1}&redirect_uri={2}&state={3}&response_type=code&auth_only=1&display=0";

    @Override
智布道's avatar
智布道 已提交
22 23
    public String getAccessTokenUrl(String code) {
        return MessageFormat.format(TOUTIAO_ACCESS_TOKEN_PATTERN, AuthSource.TOUTIAO.accessToken(), config.getClientId(), config.getClientSecret(), code);
24 25 26 27 28 29 30 31
    }

    @Override
    public String getUserInfoUrl(AuthUserInfoEntity userInfoEntity) {
        return MessageFormat.format(TOUTIAO_USER_INFO_PATTERN, AuthSource.TOUTIAO.userInfo(), userInfoEntity.getClientId(), userInfoEntity.getAccessToken());
    }

    @Override
智布道's avatar
智布道 已提交
32 33
    public String getAuthorizeUrl() {
        return MessageFormat.format(TOUTIAO_AUTHORIZE_PATTERN, AuthSource.TOUTIAO.authorize(), config.getClientId(), config.getRedirectUri(), this.getRealState(config.getState()));
34 35 36
    }

    @Override
智布道's avatar
智布道 已提交
37
    public String getRefreshUrl(String refreshToken) {
38 39 40 41
        return null;
    }

    @Override
智布道's avatar
智布道 已提交
42
    public String getRevokeUrl(String accessToken) {
43 44 45
        return null;
    }
}