Skip to content

Commit 1c91d69

Browse files
no23reasonkadikraman
authored andcommitted
Prevent exception in Android when using built-in parameters (#74)
Fixes #73
1 parent 192a335 commit 1c91d69

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

android/src/main/java/com/reactlibrary/RNAppAuthModule.java

+14
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,20 @@ private void authorizeWithConfiguration(
274274
.setScope(scopesString);
275275

276276
if (additionalParametersMap != null) {
277+
// handle additional parameters separately to avoid exceptions from AppAuth
278+
if (additionalParametersMap.containsKey("display")) {
279+
authRequestBuilder.setDisplay(additionalParametersMap.get("display"));
280+
additionalParametersMap.remove("display");
281+
}
282+
if (additionalParametersMap.containsKey("login_hint")) {
283+
authRequestBuilder.setLoginHint(additionalParametersMap.get("login_hint"));
284+
additionalParametersMap.remove("login_hint");
285+
}
286+
if (additionalParametersMap.containsKey("prompt")) {
287+
authRequestBuilder.setPrompt(additionalParametersMap.get("prompt"));
288+
additionalParametersMap.remove("prompt");
289+
}
290+
277291
authRequestBuilder.setAdditionalParameters(additionalParametersMap);
278292
}
279293

index.d.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,17 @@ export type BaseAuthConfiguration =
1717
serviceConfiguration?: ServiceConfiguration;
1818
};
1919

20+
interface BuiltInParameters {
21+
display?: "page" | "popup" | "touch" | "wap";
22+
login_prompt?: string;
23+
prompt?: "consent" |"login" | "none" | "select_account";
24+
}
25+
2026
export type AuthConfiguration = BaseAuthConfiguration & {
2127
clientSecret?: string;
2228
scopes: string[];
2329
redirectUrl: string;
24-
additionalParameters?: { [name: string]: string };
30+
additionalParameters?: BuiltInParameters & { [name: string]: string };
2531
dangerouslyAllowInsecureHttpRequests?: boolean;
2632
};
2733

0 commit comments

Comments
 (0)