Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Optional;

public class OktaSdkBridgeModule extends ReactContextBaseJavaModule implements ActivityEventListener {

Expand Down Expand Up @@ -101,7 +102,8 @@ public void createConfig(String clientId,
ReadableMap timeouts,
Boolean browserMatchAll,
Callback successCallback,
Callback errorCallback
Callback errorCallback,
Optional<String> issuer
) {

try {
Expand All @@ -119,7 +121,7 @@ public void createConfig(String clientId,
.redirectUri(redirectUri)
.endSessionRedirectUri(endSessionRedirectUri)
.scopes(scopeArray)
.discoveryUri(discoveryUri)
.discoveryUri((issuer.isPresent()) ? issuer.get() : discoveryUri)
.create();

Okta.WebAuthBuilder webAuthBuilder = new Okta.WebAuthBuilder();
Expand Down
14 changes: 11 additions & 3 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@
}

/* eslint-disable max-params */
export function createConfigWithCallbacks(

Check failure on line 111 in index.js

View workflow job for this annotation

GitHub Actions / JSUnitTests

Function 'createConfigWithCallbacks' has a complexity of 9. Maximum allowed is 7
issuer,
clientId,
redirectUri,
Expand All @@ -124,12 +124,18 @@
onSuccess,
onError
) {
assertIssuer(discoveryUri);
assertClientId(clientId);
assertRedirectUri(redirectUri);
assertRedirectUri(endSessionRedirectUri);

if (issuer) {
assertIssuer(issuer);
}

const { origin } = new Url(discoveryUri);
if (!issuer && discoveryUri) {
assertIssuer(origin);
}

oktaAuthConfig = {
...oktaAuthConfig,
Expand Down Expand Up @@ -168,7 +174,8 @@
userAgentTemplate,
httpConnectionTimeout,
onSuccess,
onError
onError,
issuer
);
} else {

Expand All @@ -189,7 +196,8 @@
timeouts,
browserMatchAll,
onSuccess,
onError
onError,
issuer
);
}
}
Expand Down
5 changes: 3 additions & 2 deletions ios/OktaSdkBridge/OktaSdkBridge.swift
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,14 @@ class OktaSdkBridge: RCTEventEmitter {
userAgentTemplate: String,
requestTimeout: Int,
successCallback: RCTResponseSenderBlock,
errorCallback: RCTResponseSenderBlock) {
errorCallback: RCTResponseSenderBlock,
issuer: String?) {
do {
let uaVersion = OktaUserAgent.userAgentVersion()
let userAgent = userAgentTemplate.replacingOccurrences(of: "$UPSTREAM_SDK", with: "okta-oidc-ios/\(uaVersion)")
OktaOidcConfig.setUserAgent(value: userAgent)
let config = try OktaOidcConfig(with: [
"issuer": discoveryUri,
"issuer": issuer ?? discoveryUri,
"clientId": clientId,
"redirectUri": redirectUrl,
"logoutRedirectUri": endSessionRedirectUri,
Expand Down
Loading