@@ -35,8 +35,7 @@ public class AuthAPI {
3535 private final OkHttpClient client ;
3636 private final String clientId ;
3737 private final String clientSecret ;
38- private final String baseUrl ;
39- private final HttpUrl httpUrl ;
38+ private final HttpUrl baseUrl ;
4039 private final TelemetryInterceptor telemetry ;
4140 private final HttpLoggingInterceptor logging ;
4241
@@ -52,11 +51,10 @@ public AuthAPI(String domain, String clientId, String clientSecret) {
5251 Asserts .assertNotNull (clientId , "client id" );
5352 Asserts .assertNotNull (clientSecret , "client secret" );
5453
55- baseUrl = createBaseUrl (domain );
54+ this . baseUrl = createBaseUrl (domain );
5655 if (baseUrl == null ) {
5756 throw new IllegalArgumentException ("The domain had an invalid format and couldn't be parsed as an URL." );
5857 }
59- this .httpUrl = HttpUrl .parse (baseUrl );
6058 this .clientId = clientId ;
6159 this .clientSecret = clientSecret ;
6260
@@ -91,17 +89,16 @@ OkHttpClient getClient() {
9189 }
9290
9391 //Visible for Testing
94- String getBaseUrl () {
92+ HttpUrl getBaseUrl () {
9593 return baseUrl ;
9694 }
9795
98- private String createBaseUrl (String domain ) {
96+ private HttpUrl createBaseUrl (String domain ) {
9997 String url = domain ;
10098 if (!domain .startsWith ("https://" ) && !domain .startsWith ("http://" )) {
10199 url = "https://" + domain ;
102100 }
103- HttpUrl baseUrl = HttpUrl .parse (url );
104- return baseUrl == null ? null : baseUrl .newBuilder ().build ().toString ();
101+ return HttpUrl .parse (url );
105102 }
106103
107104 /**
@@ -123,7 +120,7 @@ private String createBaseUrl(String domain) {
123120 * @return a new instance of the {@link AuthorizeUrlBuilder} to configure.
124121 */
125122 public AuthorizeUrlBuilder authorizeUrl (String redirectUri ) {
126- Asserts .assertNotNull (redirectUri , "redirect uri" );
123+ Asserts .assertValidUrl (redirectUri , "redirect uri" );
127124
128125 return AuthorizeUrlBuilder .newInstance (baseUrl , clientId , redirectUri );
129126 }
@@ -145,7 +142,7 @@ public AuthorizeUrlBuilder authorizeUrl(String redirectUri) {
145142 * @return a new instance of the {@link LogoutUrlBuilder} to configure.
146143 */
147144 public LogoutUrlBuilder logoutUrl (String returnToUrl , boolean setClientId ) {
148- Asserts .assertNotNull (returnToUrl , "return to url" );
145+ Asserts .assertValidUrl (returnToUrl , "return to url" );
149146
150147 return LogoutUrlBuilder .newInstance (baseUrl , clientId , returnToUrl , setClientId );
151148 }
@@ -171,7 +168,7 @@ public LogoutUrlBuilder logoutUrl(String returnToUrl, boolean setClientId) {
171168 public Request <UserInfo > userInfo (String accessToken ) {
172169 Asserts .assertNotNull (accessToken , "access token" );
173170
174- String url = httpUrl
171+ String url = baseUrl
175172 .newBuilder ()
176173 .addPathSegment ("userinfo" )
177174 .build ()
@@ -205,7 +202,7 @@ public Request resetPassword(String email, String connection) {
205202 Asserts .assertNotNull (email , "email" );
206203 Asserts .assertNotNull (connection , "connection" );
207204
208- String url = httpUrl
205+ String url = baseUrl
209206 .newBuilder ()
210207 .addPathSegment (PATH_DBCONNECTIONS )
211208 .addPathSegment ("change_password" )
@@ -281,7 +278,7 @@ public SignUpRequest signUp(String email, String password, String connection) {
281278 Asserts .assertNotNull (password , "password" );
282279 Asserts .assertNotNull (connection , "connection" );
283280
284- String url = httpUrl
281+ String url = baseUrl
285282 .newBuilder ()
286283 .addPathSegment (PATH_DBCONNECTIONS )
287284 .addPathSegment ("signup" )
@@ -319,7 +316,7 @@ public AuthRequest login(String emailOrUsername, String password) {
319316 Asserts .assertNotNull (emailOrUsername , "email or username" );
320317 Asserts .assertNotNull (password , "password" );
321318
322- String url = httpUrl
319+ String url = baseUrl
323320 .newBuilder ()
324321 .addPathSegment (PATH_OAUTH )
325322 .addPathSegment (PATH_TOKEN )
@@ -360,7 +357,7 @@ public AuthRequest login(String emailOrUsername, String password, String realm)
360357 Asserts .assertNotNull (password , "password" );
361358 Asserts .assertNotNull (realm , "realm" );
362359
363- String url = httpUrl
360+ String url = baseUrl
364361 .newBuilder ()
365362 .addPathSegment (PATH_OAUTH )
366363 .addPathSegment (PATH_TOKEN )
@@ -398,7 +395,7 @@ public AuthRequest login(String emailOrUsername, String password, String realm)
398395 public AuthRequest requestToken (String audience ) {
399396 Asserts .assertNotNull (audience , "audience" );
400397
401- String url = httpUrl
398+ String url = baseUrl
402399 .newBuilder ()
403400 .addPathSegment (PATH_OAUTH )
404401 .addPathSegment (PATH_TOKEN )
@@ -432,7 +429,7 @@ public AuthRequest requestToken(String audience) {
432429 public Request <Void > revokeToken (String refreshToken ) {
433430 Asserts .assertNotNull (refreshToken , "refresh token" );
434431
435- String url = httpUrl
432+ String url = baseUrl
436433 .newBuilder ()
437434 .addPathSegment (PATH_OAUTH )
438435 .addPathSegment (PATH_REVOKE )
@@ -466,7 +463,7 @@ public Request<Void> revokeToken(String refreshToken) {
466463 public AuthRequest renewAuth (String refreshToken ) {
467464 Asserts .assertNotNull (refreshToken , "refresh token" );
468465
469- String url = httpUrl
466+ String url = baseUrl
470467 .newBuilder ()
471468 .addPathSegment (PATH_OAUTH )
472469 .addPathSegment (PATH_TOKEN )
@@ -503,7 +500,7 @@ public AuthRequest exchangeCode(String code, String redirectUri) {
503500 Asserts .assertNotNull (code , "code" );
504501 Asserts .assertNotNull (redirectUri , "redirect uri" );
505502
506- String url = httpUrl
503+ String url = baseUrl
507504 .newBuilder ()
508505 .addPathSegment (PATH_OAUTH )
509506 .addPathSegment (PATH_TOKEN )
0 commit comments