diff --git a/History.md b/History.md index 6342a29a..111a3704 100644 --- a/History.md +++ b/History.md @@ -1,5 +1,42 @@ # What's New In XCreds # +## XCreds 4.1 ## + +Customization of Menu + +Adding Menu Items + +Cloud + Active Directory + +SMB Share Mounting + +Admin Removal + + +## XCreds 4.0 ## + +Select Existing User Account During Account Creation + +Allow Admin to Reset User Password at Login + +Key Combination for Showing Standard and Mac Login Window + +Account Alias + +Saving Groups to Account Attributes + +CreateAdminIfGroupMember Checked At Each Login + +Add Arbitrary Claims to Local DS User Account + +Refactored Preferences for ROPG + +Allowed Users + +Other New Features and Fixes + + + ## XCreds 3.3 ## ### Select Existing User Account During Account Creation ### diff --git a/Profile Manifest/com.twocanoes.xcreds.plist b/Profile Manifest/com.twocanoes.xcreds.plist index 362b13c8..9c3762cf 100644 --- a/Profile Manifest/com.twocanoes.xcreds.plist +++ b/Profile Manifest/com.twocanoes.xcreds.plist @@ -5,7 +5,7 @@ pfm_app_url https://github.com/twocanoes/xcreds pfm_description - XCreds 4.1 (6304) OAuth Settings + XCreds 4.1 (6311) OAuth Settings pfm_documentation_url https://twocanoes.com/knowledge-base/xcreds-admin-guide/#preferences pfm_domain diff --git a/XCreds/TokenManager.swift b/XCreds/TokenManager.swift index f604cbc9..e25e01b3 100644 --- a/XCreds/TokenManager.swift +++ b/XCreds/TokenManager.swift @@ -75,8 +75,7 @@ class TokenManager: OIDCLiteDelegate,DSQueryable { additionalParameters = ["access_type":"offline"] } - - + let oidcLite = OIDCLite(discoveryURL: DefaultsOverride.standardOverride.string(forKey: PrefKeys.discoveryURL.rawValue) ?? "NONE", clientID: clientID ?? "NONE", clientSecret: clientSecret, redirectURI: DefaultsOverride.standardOverride.string(forKey: PrefKeys.redirectURI.rawValue), scopes: scopes, additionalParameters:additionalParameters ) oidcLite.getEndpoints() oidcLocal = oidcLite diff --git a/XCreds/WebViewController.swift b/XCreds/WebViewController.swift index fa49a44b..6a0d6523 100644 --- a/XCreds/WebViewController.swift +++ b/XCreds/WebViewController.swift @@ -291,7 +291,7 @@ extension WebViewController: WKNavigationDelegate { } func webView(_ webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: Error) { - TCSLogWithMark("Redirect error. Probably safe to ignore since we don't actually follow the redirect:\(error.localizedDescription)") + TCSLogWithMark("Redirect error. if the error is \"Could not connect to the server.\", it is probably safe to ignore. If the error is \"unsupported URL\", please check your redirectURL in prefs matches the one defined in your OIDC app. Error: \(error.localizedDescription)") } func webView(_ webView: WKWebView, didReceiveServerRedirectForProvisionalNavigation navigation: WKNavigation!) { TCSLogWithMark("WebDel:: Did Receive Redirect for: \(webView.url?.absoluteString ?? "None")") diff --git a/xCreds.xcodeproj/project.pbxproj b/xCreds.xcodeproj/project.pbxproj index fb0e13c2..a2e125b5 100644 --- a/xCreds.xcodeproj/project.pbxproj +++ b/xCreds.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 55; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -29,6 +29,7 @@ 761B486928A34CC900C6A02B /* LoginProgressWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 761B486728A34CC900C6A02B /* LoginProgressWindowController.xib */; }; 761B486A28A34CC900C6A02B /* LoginProgressWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761B486828A34CC900C6A02B /* LoginProgressWindowController.swift */; }; 761B486C28A3575000C6A02B /* XCredsLoginDone.swift in Sources */ = {isa = PBXBuildFile; fileRef = 761B486B28A3575000C6A02B /* XCredsLoginDone.swift */; }; + 762177E62B7144460051B756 /* OIDCLite in Frameworks */ = {isa = PBXBuildFile; productRef = 762177E52B7144460051B756 /* OIDCLite */; }; 7623384C2B53029D00F2D714 /* ShareMounterMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 763DDF152B4F100D000D48CC /* ShareMounterMenu.swift */; }; 7623384D2B53029D00F2D714 /* ShareMounter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76C4ACBE2B3D0F8D003B3605 /* ShareMounter.swift */; }; 762761602B294A7C0067D1D4 /* icon_128x128.png in Resources */ = {isa = PBXBuildFile; fileRef = 7614D03B2B181A5D006EAF36 /* icon_128x128.png */; }; @@ -140,7 +141,6 @@ 76873E2F2A107736001418A9 /* DefaultsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76873E2E2A107736001418A9 /* DefaultsHelper.swift */; }; 76873E302A107736001418A9 /* DefaultsHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76873E2E2A107736001418A9 /* DefaultsHelper.swift */; }; 76A8A4E32A0DF7C700AA6054 /* NSTaskWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76BEF7F528724FA80013E2A1 /* NSTaskWrapper.swift */; }; - 76AB89DF2A12FAD800529D90 /* OIDCLite in Frameworks */ = {isa = PBXBuildFile; productRef = 76AB89DE2A12FAD800529D90 /* OIDCLite */; }; 76AB89E12A12FAF900529D90 /* OIDCLite in Frameworks */ = {isa = PBXBuildFile; productRef = 76AB89E02A12FAF900529D90 /* OIDCLite */; }; 76AB89E32A12FB4900529D90 /* ArgumentParser in Frameworks */ = {isa = PBXBuildFile; productRef = 76AB89E22A12FB4900529D90 /* ArgumentParser */; }; 76B040A428EFC788002A289B /* Helper+JWTDecode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 76B040A328EFC788002A289B /* Helper+JWTDecode.swift */; }; @@ -555,13 +555,13 @@ buildActionMask = 2147483647; files = ( 76C4BAB72B353AFD007B2C57 /* Kerberos.framework in Frameworks */, + 762177E62B7144460051B756 /* OIDCLite in Frameworks */, 76C4BAB32B353AD7007B2C57 /* libresolv.tbd in Frameworks */, 763DDF1A2B4F1DD4000D48CC /* GSS.framework in Frameworks */, 766CC42829D3A3DC009BC526 /* ProductLicense.framework in Frameworks */, 766CC42A29D3A3DC009BC526 /* Paddle.framework in Frameworks */, 767CB2D02B13B92B006CA2AC /* OpenDirectory.framework in Frameworks */, 76319369287D24F600D36BF7 /* ArgumentParser in Frameworks */, - 76AB89DF2A12FAD800529D90 /* OIDCLite in Frameworks */, 76319366287D24E100D36BF7 /* ArgumentParser in Frameworks */, 76DD6D17285997F300A700ED /* OIDCLite in Frameworks */, ); @@ -1015,7 +1015,7 @@ 76DD6D16285997F300A700ED /* OIDCLite */, 76319365287D24E100D36BF7 /* ArgumentParser */, 76319368287D24F600D36BF7 /* ArgumentParser */, - 76AB89DE2A12FAD800529D90 /* OIDCLite */, + 762177E52B7144460051B756 /* OIDCLite */, ); productName = xCreds; productReference = 76EE069A27FD1D00009E0F3A /* XCreds.app */; @@ -1066,7 +1066,7 @@ mainGroup = 76EE069127FD1D00009E0F3A; packageReferences = ( 76319364287D24E100D36BF7 /* XCRemoteSwiftPackageReference "swift-argument-parser" */, - 76AB89DD2A12FAD800529D90 /* XCRemoteSwiftPackageReference "OIDCLite" */, + 762177E42B7144460051B756 /* XCLocalSwiftPackageReference "../OIDCLite" */, ); productRefGroup = 76EE069B27FD1D00009E0F3A /* Products */; projectDirPath = ""; @@ -1440,7 +1440,7 @@ buildSettings = { CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6304; + CURRENT_PROJECT_VERSION = 6311; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = UXP6YEHSPW; FRAMEWORK_SEARCH_PATHS = ( @@ -1477,7 +1477,7 @@ buildSettings = { CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6304; + CURRENT_PROJECT_VERSION = 6311; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = UXP6YEHSPW; FRAMEWORK_SEARCH_PATHS = ( @@ -1598,7 +1598,7 @@ CODE_SIGN_ENTITLEMENTS = "XCreds Login Overlay/XCreds_Login_Overlay.entitlements"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6304; + CURRENT_PROJECT_VERSION = 6311; DEVELOPMENT_TEAM = UXP6YEHSPW; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( @@ -1635,7 +1635,7 @@ CODE_SIGN_ENTITLEMENTS = "XCreds Login Overlay/XCreds_Login_Overlay.entitlements"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6304; + CURRENT_PROJECT_VERSION = 6311; DEVELOPMENT_TEAM = UXP6YEHSPW; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( @@ -1785,7 +1785,7 @@ CODE_SIGN_ENTITLEMENTS = XCreds/xCreds.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6304; + CURRENT_PROJECT_VERSION = 6311; DEVELOPMENT_TEAM = UXP6YEHSPW; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( @@ -1827,7 +1827,7 @@ CODE_SIGN_ENTITLEMENTS = XCreds/xCreds.entitlements; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - CURRENT_PROJECT_VERSION = 6304; + CURRENT_PROJECT_VERSION = 6311; DEVELOPMENT_TEAM = UXP6YEHSPW; ENABLE_HARDENED_RUNTIME = YES; FRAMEWORK_SEARCH_PATHS = ( @@ -1938,6 +1938,13 @@ }; /* End XCConfigurationList section */ +/* Begin XCLocalSwiftPackageReference section */ + 762177E42B7144460051B756 /* XCLocalSwiftPackageReference "../OIDCLite" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = ../OIDCLite; + }; +/* End XCLocalSwiftPackageReference section */ + /* Begin XCRemoteSwiftPackageReference section */ 76319364287D24E100D36BF7 /* XCRemoteSwiftPackageReference "swift-argument-parser" */ = { isa = XCRemoteSwiftPackageReference; @@ -1947,17 +1954,13 @@ minimumVersion = 1.0.0; }; }; - 76AB89DD2A12FAD800529D90 /* XCRemoteSwiftPackageReference "OIDCLite" */ = { - isa = XCRemoteSwiftPackageReference; - repositoryURL = "https://github.com/twocanoes/OIDCLite"; - requirement = { - branch = main; - kind = branch; - }; - }; /* End XCRemoteSwiftPackageReference section */ /* Begin XCSwiftPackageProductDependency section */ + 762177E52B7144460051B756 /* OIDCLite */ = { + isa = XCSwiftPackageProductDependency; + productName = OIDCLite; + }; 76319365287D24E100D36BF7 /* ArgumentParser */ = { isa = XCSwiftPackageProductDependency; package = 76319364287D24E100D36BF7 /* XCRemoteSwiftPackageReference "swift-argument-parser" */; @@ -1972,11 +1975,6 @@ isa = XCSwiftPackageProductDependency; productName = OIDCLite; }; - 76AB89DE2A12FAD800529D90 /* OIDCLite */ = { - isa = XCSwiftPackageProductDependency; - package = 76AB89DD2A12FAD800529D90 /* XCRemoteSwiftPackageReference "OIDCLite" */; - productName = OIDCLite; - }; 76AB89E02A12FAF900529D90 /* OIDCLite */ = { isa = XCSwiftPackageProductDependency; productName = OIDCLite; diff --git a/xCreds.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/xCreds.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index d6a090a1..8514912a 100644 --- a/xCreds.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/xCreds.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,23 +1,16 @@ { - "pins" : [ - { - "identity" : "oidclite", - "kind" : "remoteSourceControl", - "location" : "https://github.com/twocanoes/OIDCLite", - "state" : { - "branch" : "main", - "revision" : "eab1496501bfc7ce5ee8cc9f924908fb7370d679" + "object": { + "pins": [ + { + "package": "swift-argument-parser", + "repositoryURL": "https://github.com/apple/swift-argument-parser.git", + "state": { + "branch": null, + "revision": "fee6933f37fde9a5e12a1e4aeaa93fe60116ff2a", + "version": "1.2.2" + } } - }, - { - "identity" : "swift-argument-parser", - "kind" : "remoteSourceControl", - "location" : "https://github.com/apple/swift-argument-parser.git", - "state" : { - "revision" : "fee6933f37fde9a5e12a1e4aeaa93fe60116ff2a", - "version" : "1.2.2" - } - } - ], - "version" : 2 + ] + }, + "version": 1 } diff --git a/xCreds.xcodeproj/project.xcworkspace/xcuserdata/tperfitt.xcuserdatad/UserInterfaceState.xcuserstate b/xCreds.xcodeproj/project.xcworkspace/xcuserdata/tperfitt.xcuserdatad/UserInterfaceState.xcuserstate index 8882ddee..c6337635 100644 Binary files a/xCreds.xcodeproj/project.xcworkspace/xcuserdata/tperfitt.xcuserdatad/UserInterfaceState.xcuserstate and b/xCreds.xcodeproj/project.xcworkspace/xcuserdata/tperfitt.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/xCreds.xcodeproj/xcuserdata/tperfitt.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/xCreds.xcodeproj/xcuserdata/tperfitt.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index ed115f98..4b38c54f 100644 --- a/xCreds.xcodeproj/xcuserdata/tperfitt.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/xCreds.xcodeproj/xcuserdata/tperfitt.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -7,97 +7,33 @@ - - - - - - - - - - - - diff --git a/xCreds.xcodeproj/xcuserdata/tperfitt.xcuserdatad/xcschemes/xcschememanagement.plist b/xCreds.xcodeproj/xcuserdata/tperfitt.xcuserdatad/xcschemes/xcschememanagement.plist index dca28b60..937f95d7 100644 --- a/xCreds.xcodeproj/xcuserdata/tperfitt.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/xCreds.xcodeproj/xcuserdata/tperfitt.xcuserdatad/xcschemes/xcschememanagement.plist @@ -32,7 +32,7 @@ auth_mech_fixup.xcscheme_^#shared#^_ orderHint - 7 + 6 authrights.xcscheme_^#shared#^_ @@ -42,7 +42,7 @@ test.xcscheme_^#shared#^_ orderHint - 6 + 7 SuppressBuildableAutocreation