package com.github.scribejava.apis; import com.github.scribejava.core.builder.api.DefaultApi20; import com.github.scribejava.core.extractors.OAuth2AccessTokenExtractor; import com.github.scribejava.core.extractors.TokenExtractor; import com.github.scribejava.core.model.OAuth2AccessToken; import com.github.scribejava.core.model.Verb; public class GitHubApi extends DefaultApi20 { protected GitHubApi() { } private static class InstanceHolder { private static final GitHubApi INSTANCE = new GitHubApi(); } public static GitHubApi instance() { return InstanceHolder.INSTANCE; } @Override public Verb getAccessTokenVerb() { return Verb.POST; } @Override public String getAccessTokenEndpoint() { return "https://github.com/login/oauth/access_token"; } @Override protected String getAuthorizationBaseUrl() { return "https://github.com/login/oauth/authorize"; } @Override public TokenExtractor<OAuth2AccessToken> getAccessTokenExtractor() { return OAuth2AccessTokenExtractor.instance(); } }