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

com.github.scribejava.apis.service.ImgurOAuthServiceImpl Maven / Gradle / Ivy

package com.github.scribejava.apis.service;

import com.github.scribejava.apis.ImgurApi;
import com.github.scribejava.core.builder.api.DefaultApi20;
import com.github.scribejava.core.model.AbstractRequest;
import com.github.scribejava.core.model.OAuth2AccessToken;
import com.github.scribejava.core.model.OAuthConfig;
import com.github.scribejava.core.model.OAuthConstants;
import com.github.scribejava.core.oauth.OAuth20Service;

public class ImgurOAuthServiceImpl extends OAuth20Service {

    public ImgurOAuthServiceImpl(DefaultApi20 api, OAuthConfig config) {
        super(api, config);
    }

    @Override
    protected  T createAccessTokenRequest(String oauthVerifier, T request) {
        final OAuthConfig config = getConfig();
        request.addBodyParameter(OAuthConstants.CLIENT_ID, config.getApiKey());
        request.addBodyParameter(OAuthConstants.CLIENT_SECRET, config.getApiSecret());

        if (ImgurApi.isOob(config)) {
            request.addBodyParameter(OAuthConstants.GRANT_TYPE, "pin");
            request.addBodyParameter("pin", oauthVerifier);
        } else {
            request.addBodyParameter(OAuthConstants.GRANT_TYPE, OAuthConstants.AUTHORIZATION_CODE);
            request.addBodyParameter(OAuthConstants.CODE, oauthVerifier);
        }
        return request;
    }

    @Override
    public void signRequest(OAuth2AccessToken accessToken, AbstractRequest request) {
        request.addHeader("Authorization",
                accessToken == null
                        ? "Client-ID " + getConfig().getApiKey() : "Bearer " + accessToken.getAccessToken());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy