use of com.github.scribejava.core.oauth.OAuth20Service in project adeptj-modules by AdeptJ.
the class OAuth2AuthorizationRequestServlet method doGet.
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String providerName = StringUtils.substringAfterLast(req.getRequestURI(), "/");
LOGGER.info("Authz request for provider: [{}]", providerName);
OAuthProvider provider = this.providerFactory.getProvider(providerName);
LOGGER.info("OAuthProvider: [{}]", provider);
OAuth20Service oauth2Service = this.providerFactory.getOAuth2Service(providerName);
if (oauth2Service == null) {
oauth2Service = new ServiceBuilder().apiKey(provider.getApiKey()).apiSecret(provider.getApiSecret()).callback(provider.getCallbackURL()).build(provider.getApi());
this.providerFactory.addOAuth2Service(providerName, oauth2Service);
}
String authorizationUrl = oauth2Service.getAuthorizationUrl();
LOGGER.info("Authz URL: [{}]", authorizationUrl);
resp.sendRedirect(authorizationUrl);
}
use of com.github.scribejava.core.oauth.OAuth20Service in project adeptj-modules by AdeptJ.
the class OAuth2CallbackServlet method processRequest.
private void processRequest(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String code = req.getParameter("code");
LOGGER.info("OAuth2 code: [{}]", code);
String provider = StringUtils.substringAfterLast(req.getRequestURI(), "/");
LOGGER.info("Provider: [{}]", provider);
OAuth20Service oAuth2Service = this.providerFactory.getOAuth2Service(provider);
OAuth2AccessToken token = null;
try {
token = oAuth2Service.getAccessToken(code);
LOGGER.info("OAuth2AccessToken: [{}]", token);
OAuthRequest oReq = new OAuthRequest(Verb.GET, "https://api.linkedin.com/v1/people/~?format=json");
oAuth2Service.signRequest(token, oReq);
Response oResp = oAuth2Service.execute(oReq);
LOGGER.info("Linkedin Profile: [{}]", oResp.getBody());
resp.getOutputStream().write(oResp.getBody().getBytes(StandardCharsets.UTF_8));
} catch (InterruptedException | ExecutionException ex) {
}
}
use of com.github.scribejava.core.oauth.OAuth20Service in project scribejava by scribejava.
the class MicrosoftAzureActiveDirectoryExample method main.
public static void main(String... args) throws IOException, InterruptedException, ExecutionException {
// Replace these with your client id and secret
final String clientId = "client id here";
final String clientSecret = "client secret here";
final OAuth20Service service = new ServiceBuilder(clientId).apiSecret(clientSecret).scope("openid").callback("http://www.example.com/oauth_callback/").build(MicrosoftAzureActiveDirectoryApi.instance());
final Scanner in = new Scanner(System.in, "UTF-8");
System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
System.out.println();
// Obtain the Authorization URL
System.out.println("Fetching the Authorization URL...");
final String authorizationUrl = service.getAuthorizationUrl();
System.out.println("Got the Authorization URL!");
System.out.println("Now go and authorize ScribeJava here:");
System.out.println(authorizationUrl);
System.out.println("And paste the authorization code here");
System.out.print(">>");
final String code = in.nextLine();
System.out.println();
// Trade the Request Token and Verfier for the Access Token
System.out.println("Trading the Request Token for an Access Token...");
final OAuth2AccessToken accessToken = service.getAccessToken(code);
System.out.println("Got the Access Token!");
System.out.println("(The raw response looks like this: " + accessToken.getRawResponse() + "')");
System.out.println();
// Now let's go and ask for a protected resource!
System.out.println("Now we're going to access a protected resource...");
final OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
service.signRequest(accessToken, request);
final Response response = service.execute(request);
System.out.println("Got it! Lets see what we found...");
System.out.println();
System.out.println(response.getCode());
System.out.println(response.getBody());
System.out.println();
System.out.println("Thats it man! Go and build something awesome with ScribeJava! :)");
}
use of com.github.scribejava.core.oauth.OAuth20Service in project scribejava by scribejava.
the class SalesforceNingAsyncExample method main.
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void main(String... args) throws InterruptedException, ExecutionException, UnsupportedEncodingException, IOException, NoSuchAlgorithmException, KeyManagementException {
// Replace these with your client id and secret
final String clientId = "your client id";
final String clientSecret = "your client secret";
final NingHttpClientConfig clientConfig = new NingHttpClientConfig(new AsyncHttpClientConfig.Builder().setMaxConnections(5).setRequestTimeout(10_000).setAllowPoolingConnections(false).setPooledConnectionIdleTimeout(1_000).setReadTimeout(10_000).build());
// IT's important! Salesforce upper require TLS v1.1 or 1.2
SalesforceApi.initTLSv11orUpper();
try (OAuth20Service service = new ServiceBuilder(clientId).apiSecret(clientSecret).httpClientConfig(clientConfig).callback("https://www.example.com/callback").build(SalesforceApi.instance())) {
System.out.println("=== " + NETWORK_NAME + "'s OAuth20 Workflow ===");
System.out.println();
// Obtain the Authorization URL
System.out.println("Fetching the Authorization URL...");
final String authorizationUrl = service.getAuthorizationUrl();
System.out.println("Got the Authorization URL!");
System.out.println("Now go and authorize ScribeJava here:");
System.out.println(authorizationUrl);
System.out.println("And paste the authorization code here");
System.out.print(">>");
final String code;
try (Scanner in = new Scanner(System.in)) {
code = in.nextLine();
}
System.out.println();
final String codeEncoded = URLDecoder.decode(code, "UTF-8");
// Trade the Request Token and Verifier for the Access Token
System.out.println("Trading the Request Token for an Access Token...");
final OAuth2AccessToken accessToken = service.getAccessToken(codeEncoded);
final SalesforceToken salesforceAccessToken;
if (accessToken instanceof SalesforceToken) {
salesforceAccessToken = (SalesforceToken) accessToken;
} else {
throw new IllegalStateException("Salesforce API didn't return SalesforceToken.");
}
System.out.println("Got the Access Token!");
System.out.println("(The raw response looks like this: " + accessToken.getRawResponse() + "')");
System.out.println();
System.out.println("Instance is: " + salesforceAccessToken.getInstanceUrl());
// Now let's go and ask for a protected resource!
System.out.println("Now we're reading accounts from the Salesforce org (maxing them to 10).");
// Sample SOQL statement
final String queryEncoded = URLEncoder.encode("Select Id, Name from Account LIMIT 10", "UTF-8");
// Building the query URI. We've parsed the instance URL from the
// accessToken request.
final String url = salesforceAccessToken.getInstanceUrl() + "/services/data/v36.0/query?q=" + queryEncoded;
System.out.println();
System.out.println("Full URL: " + url);
final OAuthRequest request = new OAuthRequest(Verb.GET, url);
final Response response = service.execute(request);
System.out.println();
System.out.println(response.getCode());
System.out.println(response.getBody());
}
}
use of com.github.scribejava.core.oauth.OAuth20Service in project scribejava by scribejava.
the class TheThingsNetworkV1StagingExample method main.
public static void main(String... args) throws IOException, InterruptedException, ExecutionException {
// Replace these with your client id and secret
final String clientId = "your_client_id";
final String clientSecret = "your_client_secret";
final String secretState = "secret" + new Random().nextInt(999_999);
final String redirectURI = "https://your_redirect_uri";
final OAuth20Service service = new ServiceBuilder(clientId).apiSecret(clientSecret).state(secretState).callback(redirectURI).build(TheThingsNetworkV1StagingApi.instance());
final Scanner in = new Scanner(System.in, "UTF-8");
System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
System.out.println();
// Obtain the Authorization URL
System.out.println("Fetching the Authorization URL...");
final String authorizationUrl = service.getAuthorizationUrl();
System.out.println("Got the Authorization URL!");
System.out.println("Now go and authorize ScribeJava here:");
System.out.println(authorizationUrl);
System.out.println("And paste the authorization code here");
System.out.print(">>");
// TTN v1staging does not have URL safe keys, so we have to decode it
final String code = URLDecoder.decode(in.nextLine(), "UTF-8");
System.out.println("Using code: " + code);
System.out.println();
System.out.println("And paste the state from server here. We have set 'secretState'='" + secretState + "'.");
System.out.print(">>");
final String value = in.nextLine();
if (secretState.equals(value)) {
System.out.println("State value does match!");
} else {
System.out.println("Oops, state value does not match!");
System.out.println("Expected = " + secretState);
System.out.println("Got = " + value);
System.out.println();
}
// Trade the Request Token and Verifier for the Access Token
System.out.println("Trading the Request Token for an Access Token...");
final OAuth2AccessToken accessToken = service.getAccessToken(code);
System.out.println("Got the Access Token!");
System.out.println("(The raw response looks like this: " + accessToken.getRawResponse() + "')");
System.out.println();
// Now let's go and ask for a protected resource!
System.out.println("Now we're going to access a protected resource...");
final OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL);
service.signRequest(accessToken, request);
request.addHeader("Accept", "application/json");
final Response response = service.execute(request);
System.out.println("Got it! Lets see what we found...");
System.out.println();
System.out.println(response.getCode());
if (response.getCode() == 401) {
System.out.println("Not authorised: " + response.getBody());
} else {
System.out.println("You should see a JSON array of your registered applications:");
System.out.println(response.getBody());
System.out.println();
System.out.println("That's it man! Go and build something awesome with ScribeJava! :)");
}
}
Aggregations