Skip to content

Commit 20ebe11

Browse files
authored
Merge pull request #159 from ForgeRock/develop
ForgeRock iOS SDK 3.4.0 Release
2 parents acbe741 + 1f73f51 commit 20ebe11

File tree

39 files changed

+1465
-330
lines changed

39 files changed

+1465
-330
lines changed

.github/workflows/bitbar-prepare-artifacts.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ on:
3838
required: true
3939
jobs:
4040
prepare-device-farm-artifacts:
41-
runs-on: macos-latest
41+
runs-on: macos-12
4242

4343
steps:
4444
# Clone the repo
@@ -85,10 +85,10 @@ jobs:
8585
# Set target Xcode version. For more details and options see:
8686
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md
8787
- name: Select Xcode
88-
run: sudo xcode-select -switch /Applications/Xcode_13.2.1.app && /usr/bin/xcodebuild -version
88+
run: sudo xcode-select -switch /Applications/Xcode_13.3.1.app && /usr/bin/xcodebuild -version
8989

9090
- name: build-for-testing and sign
91-
run: xcodebuild -scheme FRTestHostBitBar -sdk iphoneos15.2 -workspace SampleApps/FRExample.xcworkspace -configuration Debug clean build BUILD_DIR=~/build/ DEVELOPMENT_TEAM=JV6EC9KSN3 -allowProvisioningUpdates -destination generic/platform=iOS -derivedDataPath ~/build/derivedData/ build-for-testing
91+
run: xcodebuild -scheme FRTestHostBitBar -sdk iphoneos15.4 -workspace SampleApps/FRExample.xcworkspace -configuration Debug clean build BUILD_DIR=~/build/ DEVELOPMENT_TEAM=JV6EC9KSN3 -allowProvisioningUpdates -destination generic/platform=iOS -derivedDataPath ~/build/derivedData/ build-for-testing
9292

9393
# Prepare BitBar artifacts:
9494
- name: Prepare BitBar artifacts

.github/workflows/build-and-test.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111
required: true
1212
jobs:
1313
build-and-test:
14-
runs-on: macos-latest
14+
runs-on: macos-12
1515
timeout-minutes: 20
1616

1717
steps:
@@ -32,11 +32,11 @@ jobs:
3232
# Set target Xcode version. For more details and options see:
3333
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md
3434
- name: Select Xcode
35-
run: sudo xcode-select -switch /Applications/Xcode_13.2.1.app && /usr/bin/xcodebuild -version
35+
run: sudo xcode-select -switch /Applications/Xcode_13.3.1.app && /usr/bin/xcodebuild -version
3636

3737
# Run all tests
3838
- name: Run tests
39-
run: xcodebuild test -scheme FRTestHost -workspace SampleApps/FRExample.xcworkspace -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 12,OS=15.2' -derivedDataPath DerivedData -enableCodeCoverage YES -resultBundlePath TestResults | xcpretty && exit ${PIPESTATUS[0]}
39+
run: xcodebuild test -scheme FRTestHost -workspace SampleApps/FRExample.xcworkspace -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 12,OS=15.4' -derivedDataPath DerivedData -enableCodeCoverage YES -resultBundlePath TestResults | xcpretty && exit ${PIPESTATUS[0]}
4040

4141
# Publish test results
4242
- name: Publish test results

.github/workflows/run-live-tests.yaml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Run Live Tests
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
am-url:
6+
description: The AM url to run live test cases against
7+
type: string
8+
required: true
9+
default: https://openam-forgerrock-sdksteanant.forgeblocks.com/am
10+
realm:
11+
description: The AM realm to use
12+
type: string
13+
required: true
14+
default: alpha
15+
cookie-name:
16+
description: The AM session cookie name
17+
type: string
18+
required: true
19+
default: iPlanetDirectoryPro
20+
21+
jobs:
22+
run-live-tests:
23+
runs-on: macos-12
24+
25+
steps:
26+
# Clone the repo
27+
- name: Clone the repository
28+
uses: actions/checkout@v3
29+
with:
30+
fetch-depth: 0
31+
32+
# Replace forgerock_url, forgerock_realm, and forgerock_cookie_name values in config-live-01.json
33+
- name: Setup values in config-live-01.json
34+
run: |
35+
amURL=$(echo ${{ inputs.am-url }} | sed 's/\//\\\//g')
36+
echo $amURL
37+
sed -i -r "s/\(\"forgerock_url\":\).*/\1 \"$amURL\",/" "FRTestHost/FRTestHost/SharedTestFiles/TestConfig/Config-live-01.json"
38+
sed -i -r "s/\(\"forgerock_oauth_url\":\).*/\1 \"$amURL\",/" "FRTestHost/FRTestHost/SharedTestFiles/TestConfig/Config-live-01.json"
39+
sed -i -r "s/\(\"forgerock_cookie_name\":\).*/\1 \"${{ inputs.cookie-name }}\",/" "FRTestHost/FRTestHost/SharedTestFiles/TestConfig/Config-live-01.json"
40+
sed -i -r "s/\(\"forgerock_realm\":\).*/\1 \"${{ inputs.realm }}\",/" "FRTestHost/FRTestHost/SharedTestFiles/TestConfig/Config-live-01.json"
41+
sed -i -r "s/\(\"password\":\).*/\1 \"${{ secrets.SDKUSER_PASSWORD }}\",/" "FRTestHost/FRTestHost/SharedTestFiles/TestConfig/Config-live-01.json"
42+
rm -rf FRTestHost/FRTestHost/SharedTestFiles/TestConfig/Config-live-01.json-r
43+
44+
# Set target Xcode version. For more details and options see:
45+
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-11-Readme.md
46+
- name: Select Xcode
47+
run: sudo xcode-select -switch /Applications/Xcode_13.3.1.app && /usr/bin/xcodebuild -version
48+
49+
# Run all e2e tests
50+
- name: Run e2e tests
51+
run: xcodebuild test -scheme FRTestHostE2E -workspace SampleApps/FRExample.xcworkspace -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 12,OS=15.4' -derivedDataPath DerivedData -enableCodeCoverage YES -resultBundlePath TestResultsE2E | xcpretty && exit ${PIPESTATUS[0]}
52+
53+
# Publish test results
54+
- name: Publish test results
55+
uses: kishikawakatsumi/xcresulttool@v1
56+
with:
57+
path: TestResultsE2E.xcresult
58+
show-passed-tests: true
59+
if: success() || failure()
60+
61+
# Send slack notification with result status
62+
- uses: 8398a7/action-slack@v3
63+
with:
64+
mention: 'stoyan.petrov'
65+
if_mention: 'failure,cancelled'
66+
fields: repo,author,eventName,message,job,took
67+
status: ${{ job.status }}
68+
env:
69+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
70+
if: always()

.whitesource

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"scanSettings": {
3+
"configMode": "AUTO",
4+
"configExternalURL": "",
5+
"projectToken": "",
6+
"baseBranches": []
7+
},
8+
"checkRunSettings": {
9+
"vulnerableCheckRunConclusionLevel": "failure",
10+
"displayMode": "diff",
11+
"useMendCheckNames": true
12+
},
13+
"issueSettings": {
14+
"minSeverityLevel": "LOW",
15+
"issueType": "DEPENDENCY"
16+
},
17+
"remediateSettings": {
18+
"workflowRules": {
19+
"enabled": true
20+
}
21+
}
22+
}

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
# Version 3.4.0
2+
## [3.4.0]
3+
#### Added
4+
- Dynamic SDK Configuration [SDKS-1760]
5+
- iOS 16 Support [SDKS-1932]
6+
7+
#### Changed
8+
- Fixed build errors on Xcode 14 [SDKS-2073]
9+
- Fixed bug where the `state` parameter value was not verified upon calling the `Authorize` endpoint [SDKS-2077]
10+
111
# Version 3.3.2
212
## [3.3.2]
313
#### Added

FRAuth.podspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
Pod::Spec.new do |s|
1010
s.name = 'FRAuth'
11-
s.version = '3.3.2'
11+
s.version = '3.4.0'
1212
s.summary = 'ForgeRock Auth SDK for iOS'
1313
s.description = <<-DESC
1414
FRAuth is a SDK that allows you easily and quickly develop an application with ForgeRock Platform or ForgeRock Identity Cloud. FRAuth SDK provides interfaces and functionalities of user authentication, registration, and identity and access management against ForgeRock solutions.
@@ -25,9 +25,9 @@ Pod::Spec.new do |s|
2525
s.module_name = 'FRAuth'
2626
s.swift_versions = ['5.0', '5.1']
2727

28-
s.ios.deployment_target = '11.0'
28+
s.ios.deployment_target = '12.0'
2929

3030
base_dir = "FRAuth/FRAuth"
3131
s.source_files = base_dir + '/**/*.swift', base_dir + '/**/*.c', base_dir + '/**/*.h'
32-
s.ios.dependency 'FRCore', '~> 3.3.2'
32+
s.ios.dependency 'FRCore', '~> 3.4.0'
3333
end

FRAuth/FRAuth.xcodeproj/project.pbxproj

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,8 @@
278278
D5F3E10324D20FBF00536EA0 /* SuspendedTextOutputCallback.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F3E10224D20FBF00536EA0 /* SuspendedTextOutputCallback.swift */; };
279279
D5F8F9EE24B7D50600EC9AEB /* BooleanAttributeInputCallback.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F8F9ED24B7D50600EC9AEB /* BooleanAttributeInputCallback.swift */; };
280280
D5F8F9F024B7D85600EC9AEB /* NumberAttributeInputCallback.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5F8F9EF24B7D85600EC9AEB /* NumberAttributeInputCallback.swift */; };
281+
EC0BA2E7285B8F8F00F8326E /* FROptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0BA2E6285B8F8F00F8326E /* FROptions.swift */; };
282+
EC0BA2FA2863325B00F8326E /* FROptionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC0BA2F92863325B00F8326E /* FROptionsTests.swift */; };
281283
EC7EA0F427D10FA70003F878 /* AppleSignInUserStructs.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC7EA0F327D10FA70003F878 /* AppleSignInUserStructs.swift */; };
282284
EC8BCAFF273C3EC100C3B2D8 /* FRHTTPCookie.swift in Sources */ = {isa = PBXBuildFile; fileRef = EC8BCAFD273C3EC100C3B2D8 /* FRHTTPCookie.swift */; };
283285
/* End PBXBuildFile section */
@@ -606,6 +608,8 @@
606608
D5F8F9EF24B7D85600EC9AEB /* NumberAttributeInputCallback.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NumberAttributeInputCallback.swift; sourceTree = "<group>"; };
607609
D5FBD8A224B930E30005DD0F /* BooleanAttributeInputCallbackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BooleanAttributeInputCallbackTests.swift; sourceTree = "<group>"; };
608610
D5FBD8A524B930F00005DD0F /* NumberAttributeInputCallbackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NumberAttributeInputCallbackTests.swift; sourceTree = "<group>"; };
611+
EC0BA2E6285B8F8F00F8326E /* FROptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FROptions.swift; sourceTree = "<group>"; };
612+
EC0BA2F92863325B00F8326E /* FROptionsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FROptionsTests.swift; sourceTree = "<group>"; };
609613
EC7EA0F327D10FA70003F878 /* AppleSignInUserStructs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleSignInUserStructs.swift; sourceTree = "<group>"; };
610614
EC8BCAFD273C3EC100C3B2D8 /* FRHTTPCookie.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FRHTTPCookie.swift; sourceTree = "<group>"; };
611615
/* End PBXFileReference section */
@@ -661,6 +665,7 @@
661665
D52D1637231484D60095905A /* FRAuth */ = {
662666
isa = PBXGroup;
663667
children = (
668+
EC0BA2F72863323A00F8326E /* FROptions */,
664669
A5950A2827EA200200EDEFE4 /* SSL Pinning */,
665670
D53A806126278A410093B1CA /* WebAuthn */,
666671
D58BC39D2602FB6A00254654 /* SocialLogin */,
@@ -1100,6 +1105,7 @@
11001105
children = (
11011106
D586CF5B23358EE0007A2194 /* OAuth2Client.swift */,
11021107
D586CF5C23358EE0007A2194 /* ServerConfig.swift */,
1108+
EC0BA2E6285B8F8F00F8326E /* FROptions.swift */,
11031109
);
11041110
path = Config;
11051111
sourceTree = "<group>";
@@ -1526,6 +1532,14 @@
15261532
path = Log;
15271533
sourceTree = "<group>";
15281534
};
1535+
EC0BA2F72863323A00F8326E /* FROptions */ = {
1536+
isa = PBXGroup;
1537+
children = (
1538+
EC0BA2F92863325B00F8326E /* FROptionsTests.swift */,
1539+
);
1540+
path = FROptions;
1541+
sourceTree = "<group>";
1542+
};
15291543
/* End PBXGroup section */
15301544

15311545
/* Begin PBXHeadersBuildPhase section */
@@ -1808,6 +1822,7 @@
18081822
D586CF9423358EE0007A2194 /* PasswordCallback.swift in Sources */,
18091823
D586CFBF23358EE0007A2194 /* TokenManager.swift in Sources */,
18101824
D586CFA923358EE0007A2194 /* OAuth2Client.swift in Sources */,
1825+
EC0BA2E7285B8F8F00F8326E /* FROptions.swift in Sources */,
18111826
D5B2060C25FFDDC800DABB9B /* IdPValue.swift in Sources */,
18121827
D586CFAF23358EE0007A2194 /* OAuth2.swift in Sources */,
18131828
D586CF9E23358EE0007A2194 /* ValidatedCreateUsernameCallback.swift in Sources */,
@@ -1874,6 +1889,7 @@
18741889
D5791BA125F87DE7004B487A /* AA_04_BooleanAttributeInputCallbackTest.swift in Sources */,
18751890
D5791BA225F87DE7004B487A /* AA_04_ConfirmationCallbackTest.swift in Sources */,
18761891
A5950A2A27EA205B00EDEFE4 /* SSLPinningTests.swift in Sources */,
1892+
EC0BA2FA2863325B00F8326E /* FROptionsTests.swift in Sources */,
18771893
D5791BA325F87DE7004B487A /* AA_04_DeviceProfileCallbackTest.swift in Sources */,
18781894
D5791BA425F87DE7004B487A /* AA_04_StringAttributeInputCallbackTest.swift in Sources */,
18791895
D5791BA525F87DE7004B487A /* AA_04_PollingWaitCallbackTest.swift in Sources */,
@@ -2026,7 +2042,7 @@
20262042
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
20272043
GCC_WARN_UNUSED_FUNCTION = YES;
20282044
GCC_WARN_UNUSED_VARIABLE = YES;
2029-
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
2045+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
20302046
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
20312047
MTL_FAST_MATH = YES;
20322048
ONLY_ACTIVE_ARCH = YES;
@@ -2084,7 +2100,7 @@
20842100
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
20852101
GCC_WARN_UNUSED_FUNCTION = YES;
20862102
GCC_WARN_UNUSED_VARIABLE = YES;
2087-
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
2103+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
20882104
MTL_ENABLE_DEBUG_INFO = NO;
20892105
MTL_FAST_MATH = YES;
20902106
SDKROOT = iphoneos;
@@ -2110,13 +2126,13 @@
21102126
DYLIB_INSTALL_NAME_BASE = "@rpath";
21112127
INFOPLIST_FILE = FRAuth/Info.plist;
21122128
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
2113-
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
2129+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
21142130
LD_RUNPATH_SEARCH_PATHS = (
21152131
"$(inherited)",
21162132
"@executable_path/Frameworks",
21172133
"@loader_path/Frameworks",
21182134
);
2119-
MARKETING_VERSION = 3.3.2;
2135+
MARKETING_VERSION = 3.4.0;
21202136
MODULEMAP_FILE = "${PROJECT_DIR}/FRAuth/SharedC/FRAuth.modulemap";
21212137
OTHER_CFLAGS = "-DXCODE_FRAMEWORK=1";
21222138
PRODUCT_BUNDLE_IDENTIFIER = com.forgerock.ios.FRAuth;
@@ -2144,13 +2160,13 @@
21442160
DYLIB_INSTALL_NAME_BASE = "@rpath";
21452161
INFOPLIST_FILE = FRAuth/Info.plist;
21462162
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
2147-
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
2163+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
21482164
LD_RUNPATH_SEARCH_PATHS = (
21492165
"$(inherited)",
21502166
"@executable_path/Frameworks",
21512167
"@loader_path/Frameworks",
21522168
);
2153-
MARKETING_VERSION = 3.3.2;
2169+
MARKETING_VERSION = 3.4.0;
21542170
MODULEMAP_FILE = "${PROJECT_DIR}/FRAuth/SharedC/FRAuth.modulemap";
21552171
OTHER_CFLAGS = "-DXCODE_FRAMEWORK=1";
21562172
PRODUCT_BUNDLE_IDENTIFIER = com.forgerock.ios.FRAuth;
@@ -2171,7 +2187,7 @@
21712187
DEFINES_MODULE = YES;
21722188
DEVELOPMENT_TEAM = "";
21732189
INFOPLIST_FILE = FRAuthTests/Info.plist;
2174-
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
2190+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
21752191
LD_RUNPATH_SEARCH_PATHS = (
21762192
"$(inherited)",
21772193
"@executable_path/Frameworks",
@@ -2198,7 +2214,7 @@
21982214
DEFINES_MODULE = YES;
21992215
DEVELOPMENT_TEAM = "";
22002216
INFOPLIST_FILE = FRAuthTests/Info.plist;
2201-
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
2217+
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
22022218
LD_RUNPATH_SEARCH_PATHS = (
22032219
"$(inherited)",
22042220
"@executable_path/Frameworks",

0 commit comments

Comments
 (0)