FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Merge remote-tracking branch 'upstream/master' · scribejava/scribejava@7475e52 · GitHub

Commit 7475e52

Browse files
committed
Merge remote-tracking branch 'upstream/master'
# Conflicts: # scribejava-apis/src/main/java/com/github/scribejava/apis/AzureActiveDirectoryApi.java
2 parents e211cd3 + 6d339c8 commit 7475e52

8 files changed

Lines changed: 86 additions & 139 deletions

File tree

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ ScribeJava support out-of-box several HTTP clients:
5454
* Imgur (http://imgur.com/)
5555
* Kaixin 开心网 (http://www.kaixin001.com/)
5656
* LinkedIn (https://www.linkedin.com/)
57+
* Microsoft Azure Active Directory (Azure AD) (http://azure.microsoft.com/)
5758
* Microsoft Live (https://login.live.com/)
5859
* Mail.Ru (https://mail.ru/)
5960
* Meetup (http://www.meetup.com/)

‎changelog‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[SNAPSHOT]
22
* drop optional dependency on Apache commons-codec
33
* add API - Dataporten (https://docs.dataporten.no/) (thanks to https://github.com/xibriz)
4+
* add API - Microsoft Azure Active Directory (Azure AD) (thanks to https://github.com/kaushalmall)
45

56
[5.0.0]
67
* drop Java 7 backward compatibility support, become Java 8 only

‎scribejava-apis/src/main/java/com/github/scribejava/apis/AzureActiveDirectoryApi.java‎

Lines changed: 0 additions & 80 deletions
This file was deleted.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package com.github.scribejava.apis;
2+
3+
import com.github.scribejava.apis.service.MicrosoftAzureActiveDirectoryService;
4+
import com.github.scribejava.core.builder.api.ClientAuthenticationType;
5+
import com.github.scribejava.core.builder.api.DefaultApi20;
6+
import com.github.scribejava.core.model.OAuthConfig;
7+
8+
/**
9+
* Microsoft Azure Active Directory Api
10+
*
11+
* @see <a href="https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-code">
12+
* Understand the OAuth 2.0 authorization code flow in Azure AD | Microsoft Docs</a>
13+
* @see <a
14+
* href="https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-devquickstarts-webapp-java">
15+
* Azure AD Java web app Getting Started | Microsoft Docs</a>
16+
* @see <a href="https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/signed-in-user-operations">
17+
* Azure AD Graph API Operations on the Signed-in User</a>
18+
* @see <a href="https://portal.azure.com">https://portal.azure.com</a>
19+
*/
20+
public class MicrosoftAzureActiveDirectoryApi extends DefaultApi20 {
21+
22+
private static final String MSFT_GRAPH_URL = "https://graph.windows.net";
23+
24+
private static final String MSFT_LOGIN_URL = "https://login.microsoftonline.com";
25+
private static final String SLASH = "/";
26+
private static final String COMMON = "common";
27+
private static final String TOKEN_URI = "oauth2/token";
28+
private static final String AUTH_URI = "oauth2/authorize?resource=" + MSFT_GRAPH_URL;
29+
30+
private static class InstanceHolder {
31+
32+
private static final MicrosoftAzureActiveDirectoryApi INSTANCE = new MicrosoftAzureActiveDirectoryApi();
33+
}
34+
35+
public static MicrosoftAzureActiveDirectoryApi instance() {
36+
return InstanceHolder.INSTANCE;
37+
}
38+
39+
@Override
40+
public String getAccessTokenEndpoint() {
41+
return MSFT_LOGIN_URL + SLASH + COMMON + SLASH + TOKEN_URI;
42+
}
43+
44+
@Override
45+
protected String getAuthorizationBaseUrl() {
46+
return MSFT_LOGIN_URL + SLASH + COMMON + SLASH + AUTH_URI;
47+
}
48+
49+
@Override
50+
public MicrosoftAzureActiveDirectoryService createService(OAuthConfig config) {
51+
return new MicrosoftAzureActiveDirectoryService(this, config);
52+
}
53+
54+
@Override
55+
public ClientAuthenticationType getClientAuthenticationType() {
56+
return ClientAuthenticationType.REQUEST_BODY;
57+
}
58+
}

‎scribejava-apis/src/main/java/com/github/scribejava/apis/service/AzureActiveDirectoryService.java‎

Lines changed: 0 additions & 48 deletions
This file was deleted.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.github.scribejava.apis.service;
2+
3+
import com.github.scribejava.core.builder.api.DefaultApi20;
4+
import com.github.scribejava.core.model.OAuthConfig;
5+
import com.github.scribejava.core.model.OAuthRequest;
6+
import com.github.scribejava.core.oauth.OAuth20Service;
7+
8+
public class MicrosoftAzureActiveDirectoryService extends OAuth20Service {
9+
10+
private static final String ACCEPTED_FORMAT
11+
= "application/json; odata=minimalmetadata; streaming=true; charset=utf-8";
12+
13+
public MicrosoftAzureActiveDirectoryService(DefaultApi20 api, OAuthConfig config) {
14+
super(api, config);
15+
}
16+
17+
@Override
18+
public void signRequest(String accessToken, OAuthRequest request) {
19+
super.signRequest(accessToken, request);
20+
request.addHeader("Accept", ACCEPTED_FORMAT);
21+
}
22+
}

scribejava-apis/src/test/java/com/github/scribejava/apis/examples/MicrosoftAzureExample.java renamed to scribejava-apis/src/test/java/com/github/scribejava/apis/examples/MicrosoftAzureActiveDirectoryExample.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.github.scribejava.apis.examples;
22

3-
import com.github.scribejava.apis.AzureActiveDirectoryApi;
3+
import com.github.scribejava.apis.MicrosoftAzureActiveDirectoryApi;
44
import com.github.scribejava.core.builder.ServiceBuilder;
55
import com.github.scribejava.core.model.OAuth2AccessToken;
66
import com.github.scribejava.core.model.OAuthRequest;
@@ -12,14 +12,12 @@
1212
import java.util.Scanner;
1313
import java.util.concurrent.ExecutionException;
1414

15-
16-
17-
public class MicrosoftAzureExample {
15+
public class MicrosoftAzureActiveDirectoryExample {
1816

1917
private static final String NETWORK_NAME = "Microsoft Azure Active Directory";
2018
private static final String PROTECTED_RESOURCE_URL = "https://graph.windows.net/me?api-version=1.6";
2119

22-
private MicrosoftAzureExample(){
20+
private MicrosoftAzureActiveDirectoryExample() {
2321

2422
}
2523

@@ -31,7 +29,7 @@ public static void main(String... args) throws IOException, InterruptedException
3129
.apiSecret(clientSecret)
3230
.scope("openid")
3331
.callback("http://www.example.com/oauth_callback/")
34-
.build(AzureActiveDirectoryApi.instance());
32+
.build(MicrosoftAzureActiveDirectoryApi.instance());
3533
final Scanner in = new Scanner(System.in, "UTF-8");
3634

3735
System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");

‎scribejava-core/src/main/java/com/github/scribejava/core/model/OAuthConstants.java‎

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,4 @@ public interface OAuthConstants {
4141

4242
//not OAuth specific
4343
String USER_AGENT_HEADER_NAME = "User-Agent";
44-
String CONTENT_TYPE = "Content-Type";
45-
String APPLICATION_X_WWW_FORM_URLENCODED = "application/x-www-form-urlencoded";
46-
String AUTHORIZATION = "Authorization";
47-
String BEARER = "Bearer ";
48-
String ACCEPT = "Accept";
4944
}

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL