@brightlayer-ui/react-native-template-authentication-typescript 4.0.0-alpha.0 → 4.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -1
- package/package.json +1 -1
- package/template/App.tsx +40 -12
- package/template/android/app/build.gradle +0 -1
- package/template/android/app/src/main/java/com/example/MainActivity.kt +1 -1
- package/template/android/app/src/main/res/values/strings.xml +1 -1
- package/template/android/settings.gradle +1 -1
- package/template/app.json +2 -2
- package/template/babel.config.js +1 -1
- package/template/ios/{example → AuthTemplate}/AppDelegate.swift +1 -1
- package/template/ios/{example → AuthTemplate}/Info.plist +2 -2
- package/template/ios/{example → AuthTemplate}/LaunchScreen.storyboard +1 -1
- package/template/ios/{example.xcodeproj → AuthTemplate.xcodeproj}/project.pbxproj +44 -42
- package/template/ios/{example.xcodeproj/xcshareddata/xcschemes/example.xcscheme → AuthTemplate.xcodeproj/xcshareddata/xcschemes/AuthTemplate.xcscheme} +12 -12
- package/template/ios/{example.xcworkspace → AuthTemplate.xcworkspace}/contents.xcworkspacedata +1 -1
- package/template/ios/Podfile +1 -1
- package/template/ios/Podfile.lock +13 -3
- package/template/okta.config.js +10 -0
- package/template/package.json +8 -5
- package/template/src/components/UserMenuComponent.tsx +40 -4
- package/template/src/contexts/RegistrationContext.tsx +26 -0
- package/template/src/navigation/index.tsx +56 -61
- package/template/src/navigation/navigation-drawer.tsx +8 -9
- package/template/src/screens/ChangePassword.tsx +20 -4
- package/template/src/screens/OktaLogin.tsx +58 -0
- package/template/yarn.lock +132 -28
- /package/template/ios/{example → AuthTemplate}/Images.xcassets/AppIcon.appiconset/Contents.json +0 -0
- /package/template/ios/{example → AuthTemplate}/Images.xcassets/Contents.json +0 -0
- /package/template/ios/{example → AuthTemplate}/PrivacyInfo.xcprivacy +0 -0
- /package/template/ios/{example.xcworkspace → AuthTemplate.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist +0 -0
- /package/template/ios/{exampleTests → AuthTemplateTests}/Info.plist +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## v4.
|
|
3
|
+
## v4.1.0 (Unreleased)
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Updated all the dependencies to the latest stable versions ([#448](https://github.com/etn-ccis/blui-react-native/issues/448)).
|
|
8
|
+
|
|
9
|
+
## v4.0.0 (July 30, 2025)
|
|
4
10
|
|
|
5
11
|
### Changed
|
|
6
12
|
|
package/package.json
CHANGED
package/template/App.tsx
CHANGED
|
@@ -15,12 +15,12 @@ import { blue, blueDark } from '@brightlayer-ui/react-native-themes';
|
|
|
15
15
|
import i18nAppInstance from './translations/i18n';
|
|
16
16
|
import { I18nextProvider, useTranslation } from 'react-i18next';
|
|
17
17
|
import { AppContext, AppContextType } from './src/contexts/AppContextProvider';
|
|
18
|
-
import { LocalStorage } from './src/store/local-storage';
|
|
19
18
|
import { Spinner } from '@brightlayer-ui/react-native-auth-workflow';
|
|
20
19
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
21
|
-
|
|
20
|
+
import { NativeModules, Platform } from 'react-native';
|
|
21
|
+
import { isAuthenticated as isOktaAuthenticated, EventEmitter, getAccessToken } from '@okta/okta-react-native';
|
|
22
22
|
|
|
23
|
-
export const App = (): JSX.Element => {
|
|
23
|
+
export const App = (): React.JSX.Element => {
|
|
24
24
|
const [theme, setTheme] = useState<ThemeType>('light');
|
|
25
25
|
const [language, setLanguage] = useState('en');
|
|
26
26
|
const [isAuthenticated, setAuthenticated] = useState<AppContextType['isAuthenticated']>(false);
|
|
@@ -37,25 +37,54 @@ export const App = (): JSX.Element => {
|
|
|
37
37
|
setLanguage(storedLanguage);
|
|
38
38
|
void i18n.changeLanguage(storedLanguage);
|
|
39
39
|
} else {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
let locale = 'en';
|
|
41
|
+
locale =
|
|
42
|
+
Platform.OS === 'ios'
|
|
43
|
+
? NativeModules.SettingsManager.settings.AppleLocale ||
|
|
44
|
+
NativeModules.SettingsManager.settings.AppleLocale[0]
|
|
45
|
+
: NativeModules.I18nManager.localeIdentifier;
|
|
44
46
|
setLanguage(locale?.substring(0, 2) || 'en');
|
|
45
47
|
}
|
|
46
48
|
} catch (error) {
|
|
49
|
+
let locale = 'en';
|
|
50
|
+
locale =
|
|
51
|
+
Platform.OS === 'ios'
|
|
52
|
+
? NativeModules.SettingsManager.settings.AppleLocale ||
|
|
53
|
+
NativeModules.SettingsManager.settings.AppleLocale[0]
|
|
54
|
+
: NativeModules.I18nManager.localeIdentifier;
|
|
55
|
+
setLanguage(locale?.substring(0, 2) || 'en');
|
|
47
56
|
console.error('Error getting language from Async Storage:', error);
|
|
48
57
|
}
|
|
49
58
|
};
|
|
59
|
+
|
|
60
|
+
const handleSignInSuccess = (): any => {
|
|
61
|
+
setAuthenticated(true);
|
|
62
|
+
try {
|
|
63
|
+
getAccessToken() // eslint-disable-next-line
|
|
64
|
+
.then((res) => console.log(res.access_token)) // eslint-disable-next-line
|
|
65
|
+
.catch((err) => console.log(err));
|
|
66
|
+
} catch (error) {
|
|
67
|
+
console.error('Okta error for access token', error);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
EventEmitter.addListener('signInSuccess', handleSignInSuccess);
|
|
73
|
+
|
|
74
|
+
return (): any => {
|
|
75
|
+
EventEmitter.removeAllListeners('signInSuccess');
|
|
76
|
+
};
|
|
77
|
+
}, []);
|
|
78
|
+
|
|
50
79
|
// handle initialization of auth data on first load
|
|
51
80
|
useEffect(() => {
|
|
52
81
|
const initialize = async (): Promise<void> => {
|
|
53
82
|
try {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
setAuthenticated(Boolean(userData.userId));
|
|
83
|
+
const authState = await isOktaAuthenticated();
|
|
84
|
+
setAuthenticated(Boolean(authState?.authenticated));
|
|
57
85
|
await getLanguage();
|
|
58
|
-
} catch {
|
|
86
|
+
} catch (error) {
|
|
87
|
+
console.error('Error initializing authentication state:', error);
|
|
59
88
|
// handle any error state, rejected promises, etc..
|
|
60
89
|
} finally {
|
|
61
90
|
setIsLoading(false);
|
|
@@ -64,7 +93,6 @@ export const App = (): JSX.Element => {
|
|
|
64
93
|
// eslint-disable-next-line
|
|
65
94
|
initialize();
|
|
66
95
|
}, []);
|
|
67
|
-
|
|
68
96
|
return isLoading ? (
|
|
69
97
|
<Spinner visible={isLoading} />
|
|
70
98
|
) : (
|
|
@@ -11,7 +11,7 @@ class MainActivity : ReactActivity() {
|
|
|
11
11
|
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
|
12
12
|
* rendering of the component.
|
|
13
13
|
*/
|
|
14
|
-
override fun getMainComponentName(): String = "
|
|
14
|
+
override fun getMainComponentName(): String = "AuthTemplate"
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
|
|
2
2
|
plugins { id("com.facebook.react.settings") }
|
|
3
3
|
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
|
|
4
|
-
rootProject.name =
|
|
4
|
+
rootProject.name = "AuthTemplate"
|
|
5
5
|
include ':app'
|
|
6
6
|
includeBuild('../node_modules/@react-native/gradle-plugin')
|
package/template/app.json
CHANGED
package/template/babel.config.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<key>CFBundleDevelopmentRegion</key>
|
|
6
6
|
<string>en</string>
|
|
7
7
|
<key>CFBundleDisplayName</key>
|
|
8
|
-
<string>
|
|
8
|
+
<string>AuthTemplate</string>
|
|
9
9
|
<key>CFBundleExecutable</key>
|
|
10
10
|
<string>$(EXECUTABLE_NAME)</string>
|
|
11
11
|
<key>CFBundleIdentifier</key>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<true/>
|
|
33
33
|
</dict>
|
|
34
34
|
<key>NSLocationWhenInUseUsageDescription</key>
|
|
35
|
-
<string
|
|
35
|
+
<string/>
|
|
36
36
|
<key>RCTNewArchEnabled</key>
|
|
37
37
|
<true/>
|
|
38
38
|
<key>UILaunchStoryboardName</key>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
|
17
17
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
|
18
18
|
<subviews>
|
|
19
|
-
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="
|
|
19
|
+
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="AuthTemplate" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
|
|
20
20
|
<rect key="frame" x="0.0" y="202" width="375" height="43"/>
|
|
21
21
|
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
|
|
22
22
|
<nil key="highlightedColor"/>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
|
-
0C80B921A6F3F58F76C31292 /* libPods-
|
|
10
|
+
0C80B921A6F3F58F76C31292 /* libPods-AuthTemplate.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DCACB8F33CDC322A6C60F78 /* libPods-AuthTemplate.a */; };
|
|
11
11
|
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
|
|
12
12
|
37B4427036D9526BE658D971 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */; };
|
|
13
13
|
761780ED2CA45674006654EE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761780EC2CA45674006654EE /* AppDelegate.swift */; };
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
/* End PBXBuildFile section */
|
|
16
16
|
|
|
17
17
|
/* Begin PBXFileReference section */
|
|
18
|
-
13B07F961A680F5B00A75B9A /*
|
|
19
|
-
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path =
|
|
20
|
-
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path =
|
|
21
|
-
13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path =
|
|
22
|
-
3B4392A12AC88292D35C810B /* Pods-
|
|
23
|
-
5709B34CF0A7D63546082F79 /* Pods-
|
|
24
|
-
5DCACB8F33CDC322A6C60F78 /* libPods-
|
|
25
|
-
761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path =
|
|
26
|
-
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path =
|
|
18
|
+
13B07F961A680F5B00A75B9A /* AuthTemplate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AuthTemplate.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
19
|
+
13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AuthTemplate/Images.xcassets; sourceTree = "<group>"; };
|
|
20
|
+
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = AuthTemplate/Info.plist; sourceTree = "<group>"; };
|
|
21
|
+
13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = PrivacyInfo.xcprivacy; path = AuthTemplate/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
|
|
22
|
+
3B4392A12AC88292D35C810B /* Pods-AuthTemplate.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AuthTemplate.debug.xcconfig"; path = "Target Support Files/Pods-AuthTemplate/Pods-AuthTemplate.debug.xcconfig"; sourceTree = "<group>"; };
|
|
23
|
+
5709B34CF0A7D63546082F79 /* Pods-AuthTemplate.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AuthTemplate.release.xcconfig"; path = "Target Support Files/Pods-AuthTemplate/Pods-AuthTemplate.release.xcconfig"; sourceTree = "<group>"; };
|
|
24
|
+
5DCACB8F33CDC322A6C60F78 /* libPods-AuthTemplate.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AuthTemplate.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
25
|
+
761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = AuthTemplate/AppDelegate.swift; sourceTree = "<group>"; };
|
|
26
|
+
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = AuthTemplate/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
|
27
27
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
|
28
28
|
/* End PBXFileReference section */
|
|
29
29
|
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
isa = PBXFrameworksBuildPhase;
|
|
33
33
|
buildActionMask = 2147483647;
|
|
34
34
|
files = (
|
|
35
|
-
0C80B921A6F3F58F76C31292 /* libPods-
|
|
35
|
+
0C80B921A6F3F58F76C31292 /* libPods-AuthTemplate.a in Frameworks */,
|
|
36
36
|
);
|
|
37
37
|
runOnlyForDeploymentPostprocessing = 0;
|
|
38
38
|
};
|
|
39
39
|
/* End PBXFrameworksBuildPhase section */
|
|
40
40
|
|
|
41
41
|
/* Begin PBXGroup section */
|
|
42
|
-
13B07FAE1A68108700A75B9A /*
|
|
42
|
+
13B07FAE1A68108700A75B9A /* AuthTemplate */ = {
|
|
43
43
|
isa = PBXGroup;
|
|
44
44
|
children = (
|
|
45
45
|
13B07FB51A68108700A75B9A /* Images.xcassets */,
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */,
|
|
49
49
|
13B07FB81A68108700A75B9A /* PrivacyInfo.xcprivacy */,
|
|
50
50
|
);
|
|
51
|
-
name =
|
|
51
|
+
name = AuthTemplate;
|
|
52
52
|
sourceTree = "<group>";
|
|
53
53
|
};
|
|
54
54
|
2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
|
|
55
55
|
isa = PBXGroup;
|
|
56
56
|
children = (
|
|
57
57
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
|
|
58
|
-
5DCACB8F33CDC322A6C60F78 /* libPods-
|
|
58
|
+
5DCACB8F33CDC322A6C60F78 /* libPods-AuthTemplate.a */,
|
|
59
59
|
);
|
|
60
60
|
name = Frameworks;
|
|
61
61
|
sourceTree = "<group>";
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
83CBB9F61A601CBA00E9B192 = {
|
|
71
71
|
isa = PBXGroup;
|
|
72
72
|
children = (
|
|
73
|
-
13B07FAE1A68108700A75B9A /*
|
|
73
|
+
13B07FAE1A68108700A75B9A /* AuthTemplate */,
|
|
74
74
|
832341AE1AAA6A7D00B99B32 /* Libraries */,
|
|
75
75
|
83CBBA001A601CBA00E9B192 /* Products */,
|
|
76
76
|
2D16E6871FA4F8E400B85C8A /* Frameworks */,
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
83CBBA001A601CBA00E9B192 /* Products */ = {
|
|
85
85
|
isa = PBXGroup;
|
|
86
86
|
children = (
|
|
87
|
-
13B07F961A680F5B00A75B9A /*
|
|
87
|
+
13B07F961A680F5B00A75B9A /* AuthTemplate.app */,
|
|
88
88
|
);
|
|
89
89
|
name = Products;
|
|
90
90
|
sourceTree = "<group>";
|
|
@@ -92,8 +92,8 @@
|
|
|
92
92
|
BBD78D7AC51CEA395F1C20DB /* Pods */ = {
|
|
93
93
|
isa = PBXGroup;
|
|
94
94
|
children = (
|
|
95
|
-
3B4392A12AC88292D35C810B /* Pods-
|
|
96
|
-
5709B34CF0A7D63546082F79 /* Pods-
|
|
95
|
+
3B4392A12AC88292D35C810B /* Pods-AuthTemplate.debug.xcconfig */,
|
|
96
|
+
5709B34CF0A7D63546082F79 /* Pods-AuthTemplate.release.xcconfig */,
|
|
97
97
|
);
|
|
98
98
|
path = Pods;
|
|
99
99
|
sourceTree = "<group>";
|
|
@@ -101,9 +101,9 @@
|
|
|
101
101
|
/* End PBXGroup section */
|
|
102
102
|
|
|
103
103
|
/* Begin PBXNativeTarget section */
|
|
104
|
-
13B07F861A680F5B00A75B9A /*
|
|
104
|
+
13B07F861A680F5B00A75B9A /* AuthTemplate */ = {
|
|
105
105
|
isa = PBXNativeTarget;
|
|
106
|
-
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "
|
|
106
|
+
buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "AuthTemplate" */;
|
|
107
107
|
buildPhases = (
|
|
108
108
|
C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */,
|
|
109
109
|
13B07F871A680F5B00A75B9A /* Sources */,
|
|
@@ -117,9 +117,9 @@
|
|
|
117
117
|
);
|
|
118
118
|
dependencies = (
|
|
119
119
|
);
|
|
120
|
-
name =
|
|
121
|
-
productName =
|
|
122
|
-
productReference = 13B07F961A680F5B00A75B9A /*
|
|
120
|
+
name = AuthTemplate;
|
|
121
|
+
productName = AuthTemplate;
|
|
122
|
+
productReference = 13B07F961A680F5B00A75B9A /* AuthTemplate.app */;
|
|
123
123
|
productType = "com.apple.product-type.application";
|
|
124
124
|
};
|
|
125
125
|
/* End PBXNativeTarget section */
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
};
|
|
136
136
|
};
|
|
137
137
|
};
|
|
138
|
-
buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "
|
|
138
|
+
buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "AuthTemplate" */;
|
|
139
139
|
compatibilityVersion = "Xcode 12.0";
|
|
140
140
|
developmentRegion = en;
|
|
141
141
|
hasScannedForEncodings = 0;
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
projectDirPath = "";
|
|
149
149
|
projectRoot = "";
|
|
150
150
|
targets = (
|
|
151
|
-
13B07F861A680F5B00A75B9A /*
|
|
151
|
+
13B07F861A680F5B00A75B9A /* AuthTemplate */,
|
|
152
152
|
);
|
|
153
153
|
};
|
|
154
154
|
/* End PBXProject section */
|
|
@@ -189,15 +189,15 @@
|
|
|
189
189
|
files = (
|
|
190
190
|
);
|
|
191
191
|
inputFileListPaths = (
|
|
192
|
-
"${PODS_ROOT}/Target Support Files/Pods-
|
|
192
|
+
"${PODS_ROOT}/Target Support Files/Pods-AuthTemplate/Pods-AuthTemplate-frameworks-${CONFIGURATION}-input-files.xcfilelist",
|
|
193
193
|
);
|
|
194
194
|
name = "[CP] Embed Pods Frameworks";
|
|
195
195
|
outputFileListPaths = (
|
|
196
|
-
"${PODS_ROOT}/Target Support Files/Pods-
|
|
196
|
+
"${PODS_ROOT}/Target Support Files/Pods-AuthTemplate/Pods-AuthTemplate-frameworks-${CONFIGURATION}-output-files.xcfilelist",
|
|
197
197
|
);
|
|
198
198
|
runOnlyForDeploymentPostprocessing = 0;
|
|
199
199
|
shellPath = /bin/sh;
|
|
200
|
-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-
|
|
200
|
+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AuthTemplate/Pods-AuthTemplate-frameworks.sh\"\n";
|
|
201
201
|
showEnvVarsInLog = 0;
|
|
202
202
|
};
|
|
203
203
|
C38B50BA6285516D6DCD4F65 /* [CP] Check Pods Manifest.lock */ = {
|
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
outputFileListPaths = (
|
|
216
216
|
);
|
|
217
217
|
outputPaths = (
|
|
218
|
-
"$(DERIVED_FILE_DIR)/Pods-
|
|
218
|
+
"$(DERIVED_FILE_DIR)/Pods-AuthTemplate-checkManifestLockResult.txt",
|
|
219
219
|
);
|
|
220
220
|
runOnlyForDeploymentPostprocessing = 0;
|
|
221
221
|
shellPath = /bin/sh;
|
|
@@ -228,15 +228,15 @@
|
|
|
228
228
|
files = (
|
|
229
229
|
);
|
|
230
230
|
inputFileListPaths = (
|
|
231
|
-
"${PODS_ROOT}/Target Support Files/Pods-
|
|
231
|
+
"${PODS_ROOT}/Target Support Files/Pods-AuthTemplate/Pods-AuthTemplate-resources-${CONFIGURATION}-input-files.xcfilelist",
|
|
232
232
|
);
|
|
233
233
|
name = "[CP] Copy Pods Resources";
|
|
234
234
|
outputFileListPaths = (
|
|
235
|
-
"${PODS_ROOT}/Target Support Files/Pods-
|
|
235
|
+
"${PODS_ROOT}/Target Support Files/Pods-AuthTemplate/Pods-AuthTemplate-resources-${CONFIGURATION}-output-files.xcfilelist",
|
|
236
236
|
);
|
|
237
237
|
runOnlyForDeploymentPostprocessing = 0;
|
|
238
238
|
shellPath = /bin/sh;
|
|
239
|
-
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-
|
|
239
|
+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AuthTemplate/Pods-AuthTemplate-resources.sh\"\n";
|
|
240
240
|
showEnvVarsInLog = 0;
|
|
241
241
|
};
|
|
242
242
|
/* End PBXShellScriptBuildPhase section */
|
|
@@ -255,13 +255,14 @@
|
|
|
255
255
|
/* Begin XCBuildConfiguration section */
|
|
256
256
|
13B07F941A680F5B00A75B9A /* Debug */ = {
|
|
257
257
|
isa = XCBuildConfiguration;
|
|
258
|
-
baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-
|
|
258
|
+
baseConfigurationReference = 3B4392A12AC88292D35C810B /* Pods-AuthTemplate.debug.xcconfig */;
|
|
259
259
|
buildSettings = {
|
|
260
260
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
261
261
|
CLANG_ENABLE_MODULES = YES;
|
|
262
262
|
CURRENT_PROJECT_VERSION = 1;
|
|
263
263
|
ENABLE_BITCODE = NO;
|
|
264
|
-
INFOPLIST_FILE =
|
|
264
|
+
INFOPLIST_FILE = AuthTemplate/Info.plist;
|
|
265
|
+
INFOPLIST_KEY_CFBundleDisplayName = AuthTemplate;
|
|
265
266
|
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
|
266
267
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
267
268
|
"$(inherited)",
|
|
@@ -273,8 +274,8 @@
|
|
|
273
274
|
"-ObjC",
|
|
274
275
|
"-lc++",
|
|
275
276
|
);
|
|
276
|
-
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.
|
|
277
|
-
PRODUCT_NAME =
|
|
277
|
+
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.AuthTemplate.$(PRODUCT_NAME:rfc1034identifier)";
|
|
278
|
+
PRODUCT_NAME = AuthTemplate;
|
|
278
279
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
279
280
|
SWIFT_VERSION = 5.0;
|
|
280
281
|
VERSIONING_SYSTEM = "apple-generic";
|
|
@@ -283,12 +284,13 @@
|
|
|
283
284
|
};
|
|
284
285
|
13B07F951A680F5B00A75B9A /* Release */ = {
|
|
285
286
|
isa = XCBuildConfiguration;
|
|
286
|
-
baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-
|
|
287
|
+
baseConfigurationReference = 5709B34CF0A7D63546082F79 /* Pods-AuthTemplate.release.xcconfig */;
|
|
287
288
|
buildSettings = {
|
|
288
289
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
|
289
290
|
CLANG_ENABLE_MODULES = YES;
|
|
290
291
|
CURRENT_PROJECT_VERSION = 1;
|
|
291
|
-
INFOPLIST_FILE =
|
|
292
|
+
INFOPLIST_FILE = AuthTemplate/Info.plist;
|
|
293
|
+
INFOPLIST_KEY_CFBundleDisplayName = AuthTemplate;
|
|
292
294
|
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
|
|
293
295
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
294
296
|
"$(inherited)",
|
|
@@ -300,8 +302,8 @@
|
|
|
300
302
|
"-ObjC",
|
|
301
303
|
"-lc++",
|
|
302
304
|
);
|
|
303
|
-
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.
|
|
304
|
-
PRODUCT_NAME =
|
|
305
|
+
PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.AuthTemplate.$(PRODUCT_NAME:rfc1034identifier)";
|
|
306
|
+
PRODUCT_NAME = AuthTemplate;
|
|
305
307
|
SWIFT_VERSION = 5.0;
|
|
306
308
|
VERSIONING_SYSTEM = "apple-generic";
|
|
307
309
|
};
|
|
@@ -462,7 +464,7 @@
|
|
|
462
464
|
/* End XCBuildConfiguration section */
|
|
463
465
|
|
|
464
466
|
/* Begin XCConfigurationList section */
|
|
465
|
-
13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "
|
|
467
|
+
13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "AuthTemplate" */ = {
|
|
466
468
|
isa = XCConfigurationList;
|
|
467
469
|
buildConfigurations = (
|
|
468
470
|
13B07F941A680F5B00A75B9A /* Debug */,
|
|
@@ -471,7 +473,7 @@
|
|
|
471
473
|
defaultConfigurationIsVisible = 0;
|
|
472
474
|
defaultConfigurationName = Release;
|
|
473
475
|
};
|
|
474
|
-
83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "
|
|
476
|
+
83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "AuthTemplate" */ = {
|
|
475
477
|
isa = XCConfigurationList;
|
|
476
478
|
buildConfigurations = (
|
|
477
479
|
83CBBA201A601CBA00E9B192 /* Debug */,
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
<BuildableReference
|
|
16
16
|
BuildableIdentifier = "primary"
|
|
17
17
|
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
|
18
|
-
BuildableName = "
|
|
19
|
-
BlueprintName = "
|
|
20
|
-
ReferencedContainer = "container:
|
|
18
|
+
BuildableName = "AuthTemplate.app"
|
|
19
|
+
BlueprintName = "AuthTemplate"
|
|
20
|
+
ReferencedContainer = "container:AuthTemplate.xcodeproj">
|
|
21
21
|
</BuildableReference>
|
|
22
22
|
</BuildActionEntry>
|
|
23
23
|
</BuildActionEntries>
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
<BuildableReference
|
|
34
34
|
BuildableIdentifier = "primary"
|
|
35
35
|
BlueprintIdentifier = "00E356ED1AD99517003FC87E"
|
|
36
|
-
BuildableName = "
|
|
37
|
-
BlueprintName = "
|
|
38
|
-
ReferencedContainer = "container:
|
|
36
|
+
BuildableName = "AuthTemplateTests.xctest"
|
|
37
|
+
BlueprintName = "AuthTemplateTests"
|
|
38
|
+
ReferencedContainer = "container:AuthTemplate.xcodeproj">
|
|
39
39
|
</BuildableReference>
|
|
40
40
|
</TestableReference>
|
|
41
41
|
</Testables>
|
|
@@ -55,9 +55,9 @@
|
|
|
55
55
|
<BuildableReference
|
|
56
56
|
BuildableIdentifier = "primary"
|
|
57
57
|
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
|
58
|
-
BuildableName = "
|
|
59
|
-
BlueprintName = "
|
|
60
|
-
ReferencedContainer = "container:
|
|
58
|
+
BuildableName = "AuthTemplate.app"
|
|
59
|
+
BlueprintName = "AuthTemplate"
|
|
60
|
+
ReferencedContainer = "container:AuthTemplate.xcodeproj">
|
|
61
61
|
</BuildableReference>
|
|
62
62
|
</BuildableProductRunnable>
|
|
63
63
|
</LaunchAction>
|
|
@@ -72,9 +72,9 @@
|
|
|
72
72
|
<BuildableReference
|
|
73
73
|
BuildableIdentifier = "primary"
|
|
74
74
|
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
|
|
75
|
-
BuildableName = "
|
|
76
|
-
BlueprintName = "
|
|
77
|
-
ReferencedContainer = "container:
|
|
75
|
+
BuildableName = "AuthTemplate.app"
|
|
76
|
+
BlueprintName = "AuthTemplate"
|
|
77
|
+
ReferencedContainer = "container:AuthTemplate.xcodeproj">
|
|
78
78
|
</BuildableReference>
|
|
79
79
|
</BuildableProductRunnable>
|
|
80
80
|
</ProfileAction>
|
package/template/ios/Podfile
CHANGED
|
@@ -1778,6 +1778,8 @@ PODS:
|
|
|
1778
1778
|
- ReactCommon/turbomodule/core
|
|
1779
1779
|
- SocketRocket
|
|
1780
1780
|
- Yoga
|
|
1781
|
+
- react-native-vector-icons-material-design-icons (12.2.0)
|
|
1782
|
+
- react-native-vector-icons-material-icons (12.2.0)
|
|
1781
1783
|
- react-native-webview (13.15.0):
|
|
1782
1784
|
- boost
|
|
1783
1785
|
- DoubleConversion
|
|
@@ -2281,7 +2283,7 @@ PODS:
|
|
|
2281
2283
|
- React-perflogger (= 0.80.1)
|
|
2282
2284
|
- React-utils (= 0.80.1)
|
|
2283
2285
|
- SocketRocket
|
|
2284
|
-
- RNBLUIVectorIcons (
|
|
2286
|
+
- RNBLUIVectorIcons (3.0.0):
|
|
2285
2287
|
- React
|
|
2286
2288
|
- RNCAsyncStorage (2.2.0):
|
|
2287
2289
|
- boost
|
|
@@ -2690,6 +2692,8 @@ DEPENDENCIES:
|
|
|
2690
2692
|
- react-native-pager-view (from `../node_modules/react-native-pager-view`)
|
|
2691
2693
|
- react-native-restart (from `../node_modules/react-native-restart`)
|
|
2692
2694
|
- react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`)
|
|
2695
|
+
- "react-native-vector-icons-material-design-icons (from `../node_modules/@react-native-vector-icons/material-design-icons`)"
|
|
2696
|
+
- "react-native-vector-icons-material-icons (from `../node_modules/@react-native-vector-icons/material-icons`)"
|
|
2693
2697
|
- react-native-webview (from `../node_modules/react-native-webview`)
|
|
2694
2698
|
- React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
|
|
2695
2699
|
- React-oscompat (from `../node_modules/react-native/ReactCommon/oscompat`)
|
|
@@ -2828,6 +2832,10 @@ EXTERNAL SOURCES:
|
|
|
2828
2832
|
:path: "../node_modules/react-native-restart"
|
|
2829
2833
|
react-native-safe-area-context:
|
|
2830
2834
|
:path: "../node_modules/react-native-safe-area-context"
|
|
2835
|
+
react-native-vector-icons-material-design-icons:
|
|
2836
|
+
:path: "../node_modules/@react-native-vector-icons/material-design-icons"
|
|
2837
|
+
react-native-vector-icons-material-icons:
|
|
2838
|
+
:path: "../node_modules/@react-native-vector-icons/material-icons"
|
|
2831
2839
|
react-native-webview:
|
|
2832
2840
|
:path: "../node_modules/react-native-webview"
|
|
2833
2841
|
React-NativeModulesApple:
|
|
@@ -2957,6 +2965,8 @@ SPEC CHECKSUMS:
|
|
|
2957
2965
|
react-native-pager-view: 6e60acfd433ace1a7a1af75bd80b619a41478640
|
|
2958
2966
|
react-native-restart: 0bc732f4461709022a742bb29bcccf6bbc5b4863
|
|
2959
2967
|
react-native-safe-area-context: d3738f0c3b1fcefaed874a45891b0d44306c47c1
|
|
2968
|
+
react-native-vector-icons-material-design-icons: e406b4fc1787999a5d150c897837150543e90b9c
|
|
2969
|
+
react-native-vector-icons-material-icons: 02aacdc7a2aa4d22dd841eaddad080a5f967b888
|
|
2960
2970
|
react-native-webview: 9a8ea59197aa76145b8ce72aa3eea69f1e89dd38
|
|
2961
2971
|
React-NativeModulesApple: 983f3483ef0a3446b56d490f09d579fba2442e17
|
|
2962
2972
|
React-oscompat: 114036cd8f064558c9c1a0c04fc9ae5e1453706a
|
|
@@ -2989,7 +2999,7 @@ SPEC CHECKSUMS:
|
|
|
2989
2999
|
ReactAppDependencyProvider: afd905e84ee36e1678016ae04d7370c75ed539be
|
|
2990
3000
|
ReactCodegen: f8d5fb047c4cd9d2caade972cad9edac22521362
|
|
2991
3001
|
ReactCommon: 17fd88849a174bf9ce45461912291aca711410fc
|
|
2992
|
-
RNBLUIVectorIcons:
|
|
3002
|
+
RNBLUIVectorIcons: 60165888903e319a1ef8acf2e1e3ef2a9fc1192c
|
|
2993
3003
|
RNCAsyncStorage: 1f04c8d56558e533277beda29187f571cf7eecb2
|
|
2994
3004
|
RNCMaskedView: 4c5ee1c8667d56077246cc6d1977f77393923560
|
|
2995
3005
|
RNGestureHandler: 5e1a1605659c22098719fc2e8aee453fe728f52e
|
|
@@ -3000,6 +3010,6 @@ SPEC CHECKSUMS:
|
|
|
3000
3010
|
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
|
|
3001
3011
|
Yoga: daa1e4de4b971b977b23bc842aaa3e135324f1f3
|
|
3002
3012
|
|
|
3003
|
-
PODFILE CHECKSUM:
|
|
3013
|
+
PODFILE CHECKSUM: db45d013218cc1ef1938d23316978e04554e142f
|
|
3004
3014
|
|
|
3005
3015
|
COCOAPODS: 1.16.2
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
oidc: {
|
|
3
|
+
clientId: process.env.OKTA_CLIENT_ID,
|
|
4
|
+
redirectUri: process.env.OKTA_REDIRECT_URI,
|
|
5
|
+
endSessionRedirectUri: process.env.OKTA_LOGOUT_REDIRECT_URI,
|
|
6
|
+
discoveryUri: process.env.OKTA_ISSUER,
|
|
7
|
+
scopes: ['openid', 'profile', 'offline_access', 'groups'],
|
|
8
|
+
requireHardwareBackedKeyStore: false,
|
|
9
|
+
},
|
|
10
|
+
};
|
package/template/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"name": "
|
|
2
|
+
"name": "authentication-template",
|
|
3
3
|
"version": "0.0.1",
|
|
4
4
|
"private": true,
|
|
5
5
|
"scripts": {
|
|
@@ -17,13 +17,15 @@
|
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@brightlayer-ui/colors": "^4.0.0",
|
|
19
19
|
"@brightlayer-ui/icons-svg": "^1.15.0",
|
|
20
|
-
"@brightlayer-ui/react-native-auth-workflow": "^
|
|
21
|
-
"@brightlayer-ui/react-native-components": "^
|
|
22
|
-
"@brightlayer-ui/react-native-themes": "^
|
|
23
|
-
"@brightlayer-ui/react-native-vector-icons": "^
|
|
20
|
+
"@brightlayer-ui/react-native-auth-workflow": "^8.1.1",
|
|
21
|
+
"@brightlayer-ui/react-native-components": "^9.1.1",
|
|
22
|
+
"@brightlayer-ui/react-native-themes": "^8.0.0",
|
|
23
|
+
"@brightlayer-ui/react-native-vector-icons": "^3.0.0",
|
|
24
24
|
"@okta/okta-react-native": "^2.17.0",
|
|
25
25
|
"@react-native-async-storage/async-storage": "^2.2.0",
|
|
26
26
|
"@react-native-community/masked-view": "^0.1.11",
|
|
27
|
+
"@react-native-vector-icons/material-design-icons": "^12.2.0",
|
|
28
|
+
"@react-native-vector-icons/material-icons": "^12.2.0",
|
|
27
29
|
"@react-native/new-app-screen": "0.80.0",
|
|
28
30
|
"@react-navigation/drawer": "^6.6.6",
|
|
29
31
|
"@react-navigation/native": "^6.1.9",
|
|
@@ -35,6 +37,7 @@
|
|
|
35
37
|
"react": "^19.1.0",
|
|
36
38
|
"react-i18next": "^15.5.3",
|
|
37
39
|
"react-native": "^0.80.0",
|
|
40
|
+
"react-native-dotenv": "^3.4.11",
|
|
38
41
|
"react-native-gesture-handler": "^2.26.0",
|
|
39
42
|
"react-native-keyboard-aware-scroll-view": "^0.9.5",
|
|
40
43
|
"react-native-modal": "^13.0.2",
|