com.github.scribejava.apis.ImgurApi Maven / Gradle / Ivy
package com.github.scribejava.apis;
import com.github.scribejava.apis.service.ImgurOAuthServiceImpl;
import com.github.scribejava.core.builder.api.DefaultApi20;
import com.github.scribejava.core.model.OAuthConfig;
import com.github.scribejava.core.model.OAuthConstants;
import com.github.scribejava.core.model.ParameterList;
import com.github.scribejava.core.oauth.OAuth20Service;
import java.util.Map;
public class ImgurApi extends DefaultApi20 {
protected ImgurApi() {
}
private static class InstanceHolder {
private static final ImgurApi INSTANCE = new ImgurApi();
}
public static ImgurApi instance() {
return InstanceHolder.INSTANCE;
}
@Override
public String getAccessTokenEndpoint() {
return "https://api.imgur.com/oauth2/token";
}
@Override
public String getAuthorizationUrl(OAuthConfig config, Map additionalParams) {
final ParameterList parameters = new ParameterList(additionalParams);
parameters.add(OAuthConstants.RESPONSE_TYPE, isOob(config) ? "pin" : "code");
parameters.add(OAuthConstants.CLIENT_ID, config.getApiKey());
final String callback = config.getCallback();
if (callback != null) {
parameters.add(OAuthConstants.REDIRECT_URI, callback);
}
final String scope = config.getScope();
if (scope != null) {
parameters.add(OAuthConstants.SCOPE, scope);
}
final String state = config.getState();
if (state != null) {
parameters.add(OAuthConstants.STATE, state);
}
return parameters.appendTo("https://api.imgur.com/oauth2/authorize");
}
@Override
protected String getAuthorizationBaseUrl() {
throw new UnsupportedOperationException("use getAuthorizationUrl instead");
}
@Override
public OAuth20Service createService(OAuthConfig config) {
return new ImgurOAuthServiceImpl(this, config);
}
public static boolean isOob(OAuthConfig config) {
return "oob".equals(config.getCallback());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy