-
Notifications
You must be signed in to change notification settings - Fork 507
AuthenticationServices macOS xcode15.0 b1
Manuel de la Pena edited this page Aug 22, 2023
·
3 revisions
#AuthenticationServices.framework https://github.com/xamarin/xamarin-macios/pull/18787
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialAssertion.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialAssertion.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialAssertion.h 2023-03-09 19:06:52
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialAssertion.h 2023-05-26 03:45:25
@@ -1,16 +1,19 @@
// Copyright © 2020 Apple Inc. All rights reserved.
#import <AuthenticationServices/ASAuthorizationPublicKeyCredentialAssertion.h>
+#import <AuthenticationServices/ASAuthorizationPublicKeyCredentialConstants.h>
#import <Foundation/Foundation.h>
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@interface ASAuthorizationPlatformPublicKeyCredentialAssertion : NSObject<ASAuthorizationPublicKeyCredentialAssertion>
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
+
+@property (nonatomic, readonly) ASAuthorizationPublicKeyCredentialAttachment attachment API_AVAILABLE(macos(13.5), ios(16.6)) API_UNAVAILABLE(tvos, watchos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialAssertionRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialAssertionRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialAssertionRequest.h 2023-03-09 19:06:52
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialAssertionRequest.h 2023-05-26 03:45:25
@@ -7,9 +7,11 @@
#import <AuthenticationServices/ASAuthorizationWebBrowserExternallyAuthenticatableRequest.h>
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+#import <AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest.h>
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+AS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@interface ASAuthorizationPlatformPublicKeyCredentialAssertionRequest : ASAuthorizationRequest<ASAuthorizationPublicKeyCredentialAssertionRequest>
/*! @abstract A list of credentials to allow for this request. If this ilist is nonempty, only credentials matching the provided descriptors can be used to sign in.
@@ -25,4 +27,8 @@
@interface ASAuthorizationPlatformPublicKeyCredentialAssertionRequest () <ASAuthorizationWebBrowserExternallyAuthenticatableRequest>
@end
-NS_HEADER_AUDIT_END(nullability, sendability)
+API_AVAILABLE(macos(13.5), macCatalyst(16.6)) API_UNAVAILABLE(ios, tvos, watchos)
+@interface ASAuthorizationPlatformPublicKeyCredentialAssertionRequest () <ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest>
+@end
+
+AS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialDescriptor.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialDescriptor.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialDescriptor.h 2023-03-09 19:06:51
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialDescriptor.h 2023-05-26 03:45:25
@@ -5,7 +5,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@interface ASAuthorizationPlatformPublicKeyCredentialDescriptor : NSObject<ASAuthorizationPublicKeyCredentialDescriptor>
- (instancetype)initWithCredentialID:(NSData *)credentialID NS_DESIGNATED_INITIALIZER;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialProvider.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialProvider.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialProvider.h 2023-03-09 19:06:52
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialProvider.h 2023-05-26 03:45:25
@@ -1,14 +1,16 @@
// Copyright © 2020 Apple Inc. All rights reserved.
#import <AuthenticationServices/ASAuthorizationProvider.h>
-#import <Foundation/Foundation.h>
+#import <AuthenticationServices/ASFoundation.h>
+#import <AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider.h>
+
@class ASAuthorizationPlatformPublicKeyCredentialAssertionRequest;
@class ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest;
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+AS_HEADER_AUDIT_BEGIN(nullability, sendability)
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@interface ASAuthorizationPlatformPublicKeyCredentialProvider : NSObject <ASAuthorizationProvider>
- (instancetype)initWithRelyingPartyIdentifier:(NSString *)relyingPartyIdentifier NS_DESIGNATED_INITIALIZER;
@@ -34,4 +36,8 @@
@end
-NS_HEADER_AUDIT_END(nullability, sendability)
+API_AVAILABLE(macos(13.5), macCatalyst(16.6)) API_UNAVAILABLE(ios, tvos, watchos)
+@interface ASAuthorizationPlatformPublicKeyCredentialProvider () <ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider>
+@end
+
+AS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialRegistration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialRegistration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialRegistration.h 2023-03-09 19:06:51
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialRegistration.h 2023-05-26 03:45:24
@@ -1,5 +1,6 @@
// Copyright © 2020 Apple Inc. All rights reserved.
+#import <AuthenticationServices/ASAuthorizationPublicKeyCredentialConstants.h>
#import <AuthenticationServices/ASAuthorizationPublicKeyCredentialRegistration.h>
#import <AuthenticationServices/ASCOSEConstants.h>
#import <AuthenticationServices/ASFoundation.h>
@@ -8,12 +9,14 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@interface ASAuthorizationPlatformPublicKeyCredentialRegistration : NSObject <ASAuthorizationPublicKeyCredentialRegistration>
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
+
+@property (nonatomic, readonly) ASAuthorizationPublicKeyCredentialAttachment attachment API_AVAILABLE(macos(13.5), ios(16.6)) API_UNAVAILABLE(tvos, watchos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest.h 2023-03-09 19:06:51
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest.h 2023-05-26 03:45:24
@@ -2,11 +2,13 @@
#import <AuthenticationServices/ASAuthorizationPublicKeyCredentialRegistrationRequest.h>
#import <AuthenticationServices/ASAuthorizationRequest.h>
-#import <Foundation/Foundation.h>
+#import <AuthenticationServices/ASFoundation.h>
-NS_HEADER_AUDIT_BEGIN(nullability, sendability)
+#import <AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest.h>
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+AS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@interface ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest : ASAuthorizationRequest <ASAuthorizationPublicKeyCredentialRegistrationRequest>
+ (instancetype)new NS_UNAVAILABLE;
@@ -14,4 +16,8 @@
@end
-NS_HEADER_AUDIT_END(nullability, sendability)
+API_AVAILABLE(macos(13.5), macCatalyst(16.6)) API_UNAVAILABLE(ios, tvos, watchos)
+@interface ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest () <ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest>
+@end
+
+AS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionAuthorizationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionAuthorizationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionAuthorizationRequest.h 2023-03-09 19:06:50
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionAuthorizationRequest.h 2023-05-26 03:45:24
@@ -122,6 +122,12 @@
*/
@property (nonatomic, readonly) NSString *localizedCallerDisplayName API_AVAILABLE(ios(14.0), macos(11.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*! @abstract Audit token of the calling application.
+ */
+@property (nonatomic, readonly) NSData *callerAuditToken API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos);
+
+
/*! @abstract Indicates whether the authorization user interface is enabled.
@discussion If user interface is not enabled, then the authorization will fail with @see ASAuthorizationErrorNotInteractive if it attempts to display the authorization user interface via @see presentAuthorizationViewControllerWithCompletion.
*/
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionLoginConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionLoginConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionLoginConfiguration.h 2023-03-09 19:06:50
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionLoginConfiguration.h 2023-05-26 03:45:24
@@ -2,6 +2,8 @@
#import <Foundation/Foundation.h>
+@class ASAuthorizationProviderExtensionLoginManager;
+
NS_ASSUME_NONNULL_BEGIN
API_AVAILABLE(macos(13.0)) API_UNAVAILABLE(ios, watchos, tvos)
@@ -116,6 +118,14 @@
*/
@property (nonatomic, copy) NSURL *jwksEndpointURL;
+
+/*!
+ @abstract The root certificates to use for trust evaluation of jwks keys.
+ @discussion if set, certificates will be required in jwks responses and evaluated using the supplied certificates. If the jwks certificates are missing or fail trust evaluation the login will fail.
+ */
+@property (nonatomic, copy) NSArray *jwksTrustedRootCertificates NS_REFINED_FOR_SWIFT API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+
#pragma mark - Server Nonce
/*!
@@ -143,16 +153,16 @@
/*!
@abstract Sets custom claims to be added to the embedded assertion request header.
@param claims The claims to be added. It must serialize as valid JSON to be accepted.
- @param error Nil or a NSError indicating why the claims where rejected.
- @returns True when successful and false when claims are rejected.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
*/
- (BOOL)setCustomAssertionRequestHeaderClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable)error;
/*!
@abstract Sets custom claims to be added to the embedded assertion request body.
@param claims The claims to be added. It must serialize as valid JSON to be accepted.
- @param error Nil or a NSError indicating why the claims where rejected.
- @returns True when successful and false when claims are rejected.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
*/
- (BOOL)setCustomAssertionRequestBodyClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable)error;
@@ -163,7 +173,14 @@
*/
@property (nonatomic, copy) NSString *additionalScopes;
+
/*!
+ @abstract Additional authorization scopes.
+ */
+@property (nonatomic, nullable, copy) NSString *additionalAuthorizationScopes;
+
+
+/*!
@abstract If true and there is a refresh token for the user in the SSO tokens, it will be included in the login request.
*/
@property (nonatomic) BOOL includePreviousRefreshTokenInLoginRequest;
@@ -173,7 +190,14 @@
*/
@property (nonatomic, copy) NSString *previousRefreshTokenClaimName;
+
/*!
+ @abstract The request parameter name for the JWT. The default is "assertion".
+ */
+@property (nonatomic, nullable, copy) NSString *customRequestJWTParameterName;
+
+
+/*!
@abstract Custom values added to the login POST request body.
*/
@property (nonatomic, copy) NSArray<NSURLQueryItem *> *customLoginRequestValues;
@@ -181,16 +205,16 @@
/*!
@abstract Sets custom claims to be added to the login request header.
@param claims The claims to be added. It must serialize as valid JSON to be accepted.
- @param error Nil or a NSError indicating why the claims where rejected.
- @returns True when successful and false when claims are rejected.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
*/
- (BOOL)setCustomLoginRequestHeaderClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable) error;
/*!
@abstract Sets custom claims to be added to the login request body.
@param claims The claims to be added. It must serialize as valid JSON to be accepted.
- @param error Nil or a NSError indicating why the claims where rejected.
- @returns True when successful and false when claims are rejected.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
*/
- (BOOL)setCustomLoginRequestBodyClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable) error;
@@ -200,6 +224,35 @@
@property (nonatomic, copy) NSArray<ASAuthorizationProviderExtensionKerberosMapping *> *kerberosTicketMappings;
+#pragma mark - Refresh Request
+
+/*!
+ @abstract Token Refresh Endpoint URL for login request. Defaults to the tokenEndpointURL.
+ */
+@property (nonatomic, copy) NSURL *refreshEndpointURL API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Custom values added to the refresh POST request body.
+ */
+@property (nonatomic, copy) NSArray<NSURLQueryItem *> *customRefreshRequestValues API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Sets custom claims to be added to the refresh request header.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomRefreshRequestHeaderClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable)error API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Sets custom claims to be added to the refresh request bode.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomRefreshRequestBodyClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable)error API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+
// MARK: - Federation
/*!
@@ -236,6 +289,70 @@
@abstract The custom query string values to add when making the preauthenticaion request.
*/
@property (nonatomic, copy) NSArray<NSURLQueryItem *> *customFederationUserPreauthenticationRequestValues API_AVAILABLE(macos(13.3)) API_UNAVAILABLE(ios, watchos, tvos);
+
+
+// MARK: - Request Encryption
+
+/*!
+ @abstract The public key to use for encrypting the embedded login assertion.
+ @discussion Only applies to password authentication. If set, the password will encrypted in an embedded assertion instead of the login request itself.
+ */
+@property (nonatomic, nullable, assign) SecKeyRef loginRequestEncryptionPublicKey API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract The APV prefix used for encrypted embedded login assertions.
+ */
+@property (nonatomic, nullable, copy) NSData *loginRequestEncryptionAPVPrefix API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+// MARK: - Key Exchange
+
+/*!
+ @abstract The url endpoint for key service, defaults to token tokenEndpointURL.
+ */
+@property (nonatomic, copy) NSURL *keyEndpointURL API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Custom values added to the key exchange POST request body.
+ */
+@property (nonatomic, copy) NSArray<NSURLQueryItem *> *customKeyExchangeRequestValues API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Sets custom claims to be added to the key exchange request header.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomKeyExchangeRequestHeaderClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable)error API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Sets custom claims to be added to the key exchange request body.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomKeyExchangeRequestBodyClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable)error API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Custom values added to the key request POST request body.
+ */
+@property (nonatomic, copy) NSArray<NSURLQueryItem *> *customKeyRequestValues API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Sets custom claims to be added to the key request header.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomKeyRequestHeaderClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable)error API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract Sets custom claims to be added to the key request body.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomKeyRequestBodyClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable)error API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionLoginManager.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionLoginManager.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionLoginManager.h 2023-03-09 19:06:51
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionLoginManager.h 2023-05-26 03:45:25
@@ -9,6 +9,7 @@
#import <Security/Security.h>
@class ASAuthorizationProviderExtensionLoginConfiguration;
+@class ASAuthorizationProviderExtensionUserLoginConfiguration;
NS_ASSUME_NONNULL_BEGIN
@@ -20,6 +21,16 @@
ASAuthorizationProviderExtensionKeyTypeUserDeviceEncryption = 2,
/// The user's Secure Enclave backed key.
ASAuthorizationProviderExtensionKeyTypeUserSecureEnclaveKey = 3,
+ /// The shared device signing key.
+ ASAuthorizationProviderExtensionKeyTypeSharedDeviceSigning API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos) = 4,
+ /// The shared device encryption key.
+ ASAuthorizationProviderExtensionKeyTypeSharedDeviceEncryption API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos) = 5,
+ /// The currentdevice signing key.
+ ASAuthorizationProviderExtensionKeyTypeCurrentDeviceSigning API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos) = 10,
+ /// The current device encryption key.
+ ASAuthorizationProviderExtensionKeyTypeCurrentDeviceEncryption API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos) = 11,
+ // The SmartCard for the user.
+ ASAuthorizationProviderExtensionKeyTypeUserSmartCard API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos) = 20,
} API_AVAILABLE(macos(13.0)) API_UNAVAILABLE(ios, watchos, tvos);
API_AVAILABLE(macos(13.0)) API_UNAVAILABLE(ios, watchos, tvos)
@@ -37,9 +48,24 @@
/// @abstract Returns the device registration token from the MDM profile.
@property (nonatomic, nullable, readonly, copy) NSString *registrationToken;
+
+/// @abstract Returns the extension data from the MDM profile.
+@property (nonatomic, readonly, copy) NSDictionary *extensionData API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+
/// @abstract The user name to use when authenticating with the identity provider.
-@property (nonatomic, nullable, copy) NSString *loginUserName;
+@property (nonatomic, nullable, copy) NSString *loginUserName API_DEPRECATED_WITH_REPLACEMENT("userLoginConfiguration.loginUserName", macos(13.0, 14.0));
+
+/// @abstract Retrieves the current user login configuration for the extension.
+@property (nonatomic, copy, nullable, readonly) ASAuthorizationProviderExtensionUserLoginConfiguration *userLoginConfiguration API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/// Saves or replaces the user login configration.
+/// @param userLoginConfiguration The user login configration to use.
+/// @param error The error when there are validation errors or nil.
+- (BOOL)saveUserLoginConfiguration:(ASAuthorizationProviderExtensionUserLoginConfiguration *)userLoginConfiguration error:(NSError * _Nullable * _Nullable) error API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+
/// @abstract Retrieves or sets the current SSO tokens response for the current user and extension.
@property (nonatomic, copy, nullable) NSDictionary *ssoTokens;
@@ -72,6 +98,11 @@
/// @abstract Requests that user registration be run again for the current user to repair it.
- (void)userRegistrationsNeedsRepair;
+
+
+/// @abstract Requests that the decryption keys are repaired.
+- (void)decryptionKeysNeedRepair API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
/// @abstract Creates new Encryption, Signing, and Secure Enclave keys for the user. The old keys will be destroyed.
- (void)resetKeys;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionRegistrationHandler.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionRegistrationHandler.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionRegistrationHandler.h 2023-03-09 19:06:50
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionRegistrationHandler.h 2023-05-26 03:45:24
@@ -16,6 +16,7 @@
{
ASAuthorizationProviderExtensionAuthenticationMethodPassword = 1,
ASAuthorizationProviderExtensionAuthenticationMethodUserSecureEnclaveKey = 2,
+ ASAuthorizationProviderExtensionAuthenticationMethodSmartCard API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos) = 3,
} API_AVAILABLE(macos(13.0)) API_UNAVAILABLE(ios, watchos, tvos);
API_AVAILABLE(macos(13.0)) API_UNAVAILABLE(ios, watchos, tvos)
@@ -26,6 +27,8 @@
ASAuthorizationProviderExtensionRequestOptionsUserInteractionEnabled = 1 << 0,
// The registration is called to repair a previous registration.
ASAuthorizationProviderExtensionRequestOptionsRegistrationRepair = 1 << 1,
+ // The registration is using shared device keys.
+ ASAuthorizationProviderExtensionRequestOptionsRegistrationSharedDeviceKeys API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos) = 1 << 2,
};
typedef NS_ENUM(NSInteger, ASAuthorizationProviderExtensionRegistrationResult)
@@ -41,6 +44,27 @@
} API_AVAILABLE(macos(13.0)) API_UNAVAILABLE(ios, watchos, tvos);
+typedef NS_OPTIONS(NSInteger, ASAuthorizationProviderExtensionSupportedGrantTypes) {
+ // None
+ ASAuthorizationProviderExtensionSupportedGrantTypesNone = 0,
+ // password grant type
+ ASAuthorizationProviderExtensionSupportedGrantTypesPassword = 1 << 0,
+ // jwt-bearer
+ ASAuthorizationProviderExtensionSupportedGrantTypesJWTBearer = 1 << 1,
+ // SAML 1.1
+ ASAuthorizationProviderExtensionSupportedGrantTypesSAML1_1 NS_SWIFT_NAME(saml1_1) = 1 << 2 ,
+ // SAML 2.0
+ ASAuthorizationProviderExtensionSupportedGrantTypesSAML2_0 NS_SWIFT_NAME(saml2_0) = 1 << 3,
+} API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+typedef NS_ENUM(NSInteger, ASAuthorizationProviderExtensionPlatformSSOProtocolVersion) {
+ // Version 1.0
+ ASAuthorizationProviderExtensionPlatformSSOProtocolVersion1_0 = 0,
+ // Version 2.0
+ ASAuthorizationProviderExtensionPlatformSSOProtocolVersion2_0 = 1,
+} API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+
API_AVAILABLE(macos(13.0)) API_UNAVAILABLE(ios, watchos, tvos)
@protocol ASAuthorizationProviderExtensionRegistrationHandler <NSObject>
@@ -68,6 +92,21 @@
/// @abstract Call to extension to free any resources used by the extension during registration. It will be called once after all current registration calls are complete.
- (void)registrationDidComplete;
+
+/// @abstract Call to extension when the registration has been cancelled.
+- (void)registrationDidCancel API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+
+/*!
+ @abstract The grant types supported by the identity provider.
+ */
+- (ASAuthorizationProviderExtensionSupportedGrantTypes)supportedGrantTypes API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
+/*!
+ @abstract The protocol version supported by the identity provider.
+ */
+- (ASAuthorizationProviderExtensionPlatformSSOProtocolVersion)protocolVersion API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos);
+
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionUserLoginConfiguration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionUserLoginConfiguration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionUserLoginConfiguration.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationProviderExtensionUserLoginConfiguration.h 2023-05-26 03:45:25
@@ -0,0 +1,66 @@
+//
+// ASAuthorizationProviderExtensionUserLoginConfiguration.h
+// AuthenticationServices Framework
+//
+// Copyright © 2023 Apple. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@class ASAuthorizationProviderExtensionLoginManager;
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(macos(14.0)) API_UNAVAILABLE(ios, watchos, tvos)
+@interface ASAuthorizationProviderExtensionUserLoginConfiguration : NSObject
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+/// @abstract The user name to use when authenticating with the identity provider.
+@property (nonatomic, copy) NSString *loginUserName;
+
+/// @abstract Creates an instance with the required values.
+/// @param loginUserName The login user name to use.
+
+- (instancetype)initWithLoginUserName:(NSString *)loginUserName;
+
+#pragma mark - Embedded Assertions
+
+/*!
+ @abstract Sets custom claims to be added to the embedded assertion request header.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomAssertionRequestHeaderClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable) error;
+
+/*!
+ @abstract Sets custom claims to be added to the embedded assertion request body.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomAssertionRequestBodyClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable) error;
+
+#pragma mark - Login Request
+
+/*!
+ @abstract Sets custom claims to be added to the login request header.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomLoginRequestHeaderClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable) error;
+
+/*!
+ @abstract Sets custom claims to be added to the login request body.
+ @param claims The claims to be added. It must serialize as valid JSON to be accepted.
+ @param error Nil or an NSError indicating why the claims were rejected.
+ @returns YES when successful and NO when claims are rejected.
+ */
+- (BOOL)setCustomLoginRequestBodyClaims:(NSDictionary<NSString *, id> *)claims returningError:(NSError * _Nullable * _Nullable) error;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialAssertion.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialAssertion.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialAssertion.h 2023-03-09 19:06:50
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialAssertion.h 2023-05-26 03:45:24
@@ -3,7 +3,7 @@
#import <AuthenticationServices/ASPublicKeyCredential.h>
#import <Foundation/Foundation.h>
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@protocol ASAuthorizationPublicKeyCredentialAssertion <ASPublicKeyCredential>
/*! @abstract A byte sequence containing the encoded authenticatorData blob returned by the authenticator.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialAssertionRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialAssertionRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialAssertionRequest.h 2023-03-09 19:06:52
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialAssertionRequest.h 2023-05-26 03:45:25
@@ -7,7 +7,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@protocol ASAuthorizationPublicKeyCredentialAssertionRequest <NSObject, NSSecureCoding, NSCopying>
/*! @abstract The challenge to use when signing the request.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialConstants.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialConstants.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialConstants.h 2023-03-09 23:48:50
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialConstants.h 2023-05-26 03:45:24
@@ -4,32 +4,32 @@
/*! @abstract A string indicating a preference for whether the authenticator should attempt to verify the user, such as through a PIN or biometrics.
*/
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
typedef NSString *ASAuthorizationPublicKeyCredentialUserVerificationPreference NS_TYPED_EXTENSIBLE_ENUM;
/*! @abstract Indicates that the authenticator should try to verify the user if possible, but authentication should proceed even if user verification is not currently available.
*/
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
extern ASAuthorizationPublicKeyCredentialUserVerificationPreference const ASAuthorizationPublicKeyCredentialUserVerificationPreferencePreferred;
/*! @abstract Indicates that the authenticator must attempt to verify the user. If the authenticator is not currently capable of verifying the user, authentication will fail.
*/
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
extern ASAuthorizationPublicKeyCredentialUserVerificationPreference const ASAuthorizationPublicKeyCredentialUserVerificationPreferenceRequired;
/*! @abstract Indicates that the authenticator should prefer _not_ verifying the user, if possible. This may be used to streamline an authentication process where the user has already been verified.
*/
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
extern ASAuthorizationPublicKeyCredentialUserVerificationPreference const ASAuthorizationPublicKeyCredentialUserVerificationPreferenceDiscouraged;
/*! @abstract A string indicating the type of attestation the authenticator should attempt to perform.
*/
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos)
typedef NSString *ASAuthorizationPublicKeyCredentialAttestationKind NS_TYPED_EXTENSIBLE_ENUM;
/*! @abstract Indicates that the authenticator should not perform attestation.
*/
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos)
extern ASAuthorizationPublicKeyCredentialAttestationKind const ASAuthorizationPublicKeyCredentialAttestationKindNone;
/*! @abstract Indicates that the authenticator should perform attestation itself.
@@ -66,3 +66,9 @@
*/
API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
extern ASAuthorizationPublicKeyCredentialResidentKeyPreference const ASAuthorizationPublicKeyCredentialResidentKeyPreferenceRequired;
+
+AS_API_AVAILABLE(macos(13.5), ios(16.6)) API_UNAVAILABLE(tvos) API_UNAVAILABLE(watchos)
+typedef NS_ENUM(NSInteger, ASAuthorizationPublicKeyCredentialAttachment) {
+ ASAuthorizationPublicKeyCredentialAttachmentPlatform,
+ ASAuthorizationPublicKeyCredentialAttachmentCrossPlatform,
+};
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialDescriptor.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialDescriptor.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialDescriptor.h 2023-03-09 19:06:51
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialDescriptor.h 2023-05-26 03:45:25
@@ -4,7 +4,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@protocol ASAuthorizationPublicKeyCredentialDescriptor <NSObject, NSSecureCoding, NSCopying>
/*! @abstract An identifier that uniquely identifies a specific credential.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialRegistration.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialRegistration.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialRegistration.h 2023-03-09 19:06:50
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialRegistration.h 2023-05-26 03:45:24
@@ -6,7 +6,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@protocol ASAuthorizationPublicKeyCredentialRegistration <ASPublicKeyCredential>
/*! @abstract The raw data containing the authenticator's attestation statement, if one was provided.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialRegistrationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialRegistrationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialRegistrationRequest.h 2023-03-09 19:06:52
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationPublicKeyCredentialRegistrationRequest.h 2023-05-26 03:45:25
@@ -5,7 +5,7 @@
NS_HEADER_AUDIT_BEGIN(nullability, sendability)
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0), tvos(16.0)) API_UNAVAILABLE(watchos)
@protocol ASAuthorizationPublicKeyCredentialRegistrationRequest <NSObject, NSSecureCoding, NSCopying>
/*! @abstract The Relying Party identifier used to scope this request.
@@ -34,7 +34,7 @@
/*! @abstract A preference for the type of attestation that the authenticator should attempt to perform.
*/
-@property (nonatomic) ASAuthorizationPublicKeyCredentialAttestationKind attestationPreference;
+@property (nonatomic) ASAuthorizationPublicKeyCredentialAttestationKind attestationPreference API_UNAVAILABLE(tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredential.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredential.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredential.h 2023-03-09 19:06:51
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredential.h 2023-05-26 03:45:25
@@ -14,6 +14,8 @@
/// The user name of the saved credential.
@property (nonatomic, readonly) NSString *name;
+/// A user-specified title for the credential.
+@property (nonatomic, nullable, readonly) NSString *customTitle API_AVAILABLE(macos(14.0), macCatalyst(17.0));
/// The "relying party" (generally website) the credential was saved for.
@property (nonatomic, readonly) NSString *relyingParty;
@@ -23,6 +25,9 @@
/// A unique identifier for the user account associated with this credential. One account may have multiple associated credentials.
@property (nonatomic, readonly) NSData *userHandle;
+
+/// The localized name of the credential provider that provided this passkey, either the name of a third party app or "iCloud Keychain".
+@property (nonatomic, readonly) NSString *providerName;
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest.h 2023-05-26 03:45:25
@@ -0,0 +1,18 @@
+// Copyright © 2023 Apple Inc. All rights reserved.
+
+#import <AuthenticationServices/ASFoundation.h>
+
+@class ASPublicKeyCredentialClientData;
+
+AS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+API_AVAILABLE(macos(13.5), macCatalyst(16.6)) API_UNAVAILABLE(ios, tvos, watchos)
+@protocol ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest
+
+@property (nonatomic, readonly, nullable) ASPublicKeyCredentialClientData *clientData NS_REFINED_FOR_SWIFT;
+
+@property (nonatomic) BOOL shouldShowHybridTransport;
+
+@end
+
+AS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider.h 2023-05-26 03:45:25
@@ -0,0 +1,21 @@
+// Copyright © 2023 Apple Inc. All rights reserved.
+
+#import <AuthenticationServices/ASFoundation.h>
+
+@class ASAuthorizationPlatformPublicKeyCredentialAssertionRequest;
+@class ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest;
+@class ASPublicKeyCredentialClientData;
+
+AS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+API_AVAILABLE(macos(13.5), macCatalyst(16.6)) API_UNAVAILABLE(ios, tvos, watchos)
+NS_REFINED_FOR_SWIFT
+@protocol ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider
+
+- (ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest *)createCredentialRegistrationRequestWithClientData:(ASPublicKeyCredentialClientData *)clientData name:(NSString *)name userID:(NSData *)userID;
+
+- (ASAuthorizationPlatformPublicKeyCredentialAssertionRequest *)createCredentialAssertionRequestWithClientData:(ASPublicKeyCredentialClientData *)clientData;
+
+@end
+
+AS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest.h 2023-05-26 03:45:25
@@ -0,0 +1,21 @@
+// Copyright © 2023 Apple Inc. All rights reserved.
+
+#import <AuthenticationServices/ASFoundation.h>
+
+@class ASAuthorizationPlatformPublicKeyCredentialDescriptor;
+@class ASPublicKeyCredentialClientData;
+
+AS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+API_AVAILABLE(macos(13.5), macCatalyst(16.6)) API_UNAVAILABLE(ios, tvos, watchos)
+@protocol ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest
+
+@property (nonatomic, readonly, nullable) ASPublicKeyCredentialClientData *clientData NS_REFINED_FOR_SWIFT;
+
+@property (nonatomic, nullable, copy) NSArray<ASAuthorizationPlatformPublicKeyCredentialDescriptor *> *excludedCredentials;
+
+@property (nonatomic) BOOL shouldShowHybridTransport;
+
+@end
+
+AS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCOSEConstants.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCOSEConstants.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCOSEConstants.h 2023-03-09 19:06:51
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCOSEConstants.h 2023-05-26 03:45:25
@@ -1,11 +1,11 @@
// Copyright © 2020 Apple Inc. All rights reserved.
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos)
typedef NSInteger ASCOSEAlgorithmIdentifier NS_TYPED_EXTENSIBLE_ENUM;
/*! @abstract The COSE algorithm identifier representing ECDSA with SHA-256.
*/
-API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
+API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos) API_UNAVAILABLE(tvos)
static ASCOSEAlgorithmIdentifier const ASCOSEAlgorithmIdentifierES256 = -7;
API_AVAILABLE(macos(12.0), ios(15.0)) API_UNAVAILABLE(watchos, tvos)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialIdentity.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialIdentity.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialIdentity.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialIdentity.h 2023-05-26 03:45:24
@@ -0,0 +1,46 @@
+//
+// ASCredentialIdentity.h
+// AuthenticationServices Framework
+//
+// Copyright © 2021 Apple Inc. All rights reserved.
+//
+
+#import <AuthenticationServices/ASFoundation.h>
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class ASCredentialServiceIdentifier;
+
+/*! @protocol ASCredentialIdentity
+ An ASCredentialIdentity is used to describe an identity that can use a service upon successful authentication.
+ Use this class to save entries into ASCredentialIdentityStore.
+ */
+AS_EXTERN API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos)
+@protocol ASCredentialIdentity <NSObject>
+
+/*! @abstract Get the service identifier.
+ */
+@property (nonatomic, readonly, strong) ASCredentialServiceIdentifier *serviceIdentifier;
+
+/*! @abstract Get the user.
+ */
+@property (nonatomic, readonly, copy) NSString *user;
+
+/*! @abstract Get the record identifier.
+ @discussion You can utilize the record identifier to uniquely identify the credential identity in your local database.
+ */
+@property (nonatomic, readonly, copy, nullable) NSString *recordIdentifier;
+
+/*! @abstract Get or set the rank of the credential identity object.
+ @discussion The system may utilize the rank to decide which credential identity precedes the other
+ if two identities have the same service identifier. A credential identity with a larger rank value
+ precedes one with a smaller value if both credential identities have the same service identifier.
+ The default value of this property is 0.
+ */
+@property (nonatomic) NSInteger rank;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialIdentityStore.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialIdentityStore.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialIdentityStore.h 2023-03-09 19:06:51
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialIdentityStore.h 2023-06-01 04:30:53
@@ -10,6 +10,7 @@
NS_ASSUME_NONNULL_BEGIN
+@protocol ASCredentialIdentity;
@class ASCredentialIdentityStoreState;
@class ASPasswordCredentialIdentity;
@@ -58,8 +59,23 @@
*/
- (void)saveCredentialIdentities:(NSArray<ASPasswordCredentialIdentity *> *)credentialIdentities completion:(void (^ _Nullable)(BOOL success, NSError * _Nullable error))completion
NS_SWIFT_ASYNC_THROWS_ON_FALSE(1)
+ API_DEPRECATED_WITH_REPLACEMENT("saveCredentialIdentityEntries:completion:", ios(12.0, 17.0), macos(11.0, 14.0))
;
+/*! @abstract Save the given credential identities to the store.
+ @param credentialIdentities array of ASCredentialIdentity objects to save to the store.
+ @param completion optional completion handler to be called after adding the credential identities.
+ If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided
+ and none of the objects in credentialIdentities will be saved to the store.
+ @discussion If the store supports incremental updates, call this method to add new credential
+ identities since the last time the store was updated. Otherwise, call this method to pass all credential
+ identities.
+ If some credential identities in credentialIdentities already exist in the store, they will be replaced by
+ those from credentialIdentities.
+ */
+-(void)saveCredentialIdentityEntries:(NSArray<id <ASCredentialIdentity>> *)credentialIdentities completion:(void (^ _Nullable)(BOOL success, NSError * _Nullable error))completion
+ NS_SWIFT_ASYNC_THROWS_ON_FALSE(1)
+ NS_SWIFT_NAME(saveCredentialIdentities(_:completion:)) API_AVAILABLE(ios(17.0), macos(14.0));
/*! @abstract Remove the given credential identities from the store.
@param credentialIdentities array of ASPasswordCredentialIdentity objects to remove from the store.
@@ -71,8 +87,20 @@
*/
- (void)removeCredentialIdentities:(NSArray<ASPasswordCredentialIdentity *> *)credentialIdentities completion:(void (^ _Nullable)(BOOL success, NSError * _Nullable error))completion
NS_SWIFT_ASYNC_THROWS_ON_FALSE(1)
+ API_DEPRECATED_WITH_REPLACEMENT("removeCredentialIdentityEntries:completion:", ios(12.0, 17.0), macos(11.0, 14.0))
;
+/*! @abstract Remove the given credential identities from the store.
+ @param credentialIdentities array of ASCredentialIdentity objects to remove from the store.
+ @param completion optional completion handler to be called after removing the credential identities.
+ If the operation fails, an error with domain ASCredentialIdentityStoreErrorDomain will be provided
+ and none of the objects in credentialIdentities will be removed from the store.
+ @discussion Use this method only if the store supports incremental updates to remove previously added
+ credentials to the store.
+ */
+- (void)removeCredentialIdentityEntries:(NSArray<id <ASCredentialIdentity>> *)credentialIdentities completion:(void (^ _Nullable)(BOOL success, NSError * _Nullable error))completion
+ NS_SWIFT_ASYNC_THROWS_ON_FALSE(1)
+ NS_SWIFT_NAME(removeCredentialIdentities(_:completion:)) API_AVAILABLE(ios(17.0), macos(14.0));
/*! @abstract Remove all existing credential identities from the store.
@param completion optional completion handler to be called after removing all existing credential identities.
@@ -93,8 +121,20 @@
*/
- (void)replaceCredentialIdentitiesWithIdentities:(NSArray<ASPasswordCredentialIdentity *> *)newCredentialIdentities completion:(void (^ _Nullable)(BOOL success, NSError * _Nullable error))completion
NS_SWIFT_ASYNC_THROWS_ON_FALSE(1)
+ API_DEPRECATED_WITH_REPLACEMENT("replaceCredentialIdentityEntries:completion:", ios(12.0, 17.0), macos(11.0, 14.0))
;
+/*! @abstract Replace existing credential identities with new credential identities.
+ @param newCredentialIdentities array of new credential identity objects to replace the old ones.
+ @param completion an optional completion block to be called after the operation is finished.
+ @discussion This method will delete all existing credential identities that are persisted in the
+ store and replace them with the provided array of credential identities. If the operation fails, an
+ error with domain ASCredentialIdentityStoreErrorDomain will be provided and none of the new credential
+ identities will be saved.
+ */
+- (void)replaceCredentialIdentityEntries:(NSArray<id <ASCredentialIdentity>> *)newCredentialIdentities completion:(void (^ _Nullable)(BOOL success, NSError * _Nullable error))completion
+ NS_SWIFT_ASYNC_THROWS_ON_FALSE(1)
+ NS_SWIFT_NAME(replaceCredentialIdentities(_:completion:)) API_AVAILABLE(ios(17.0), macos(14.0));
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderExtensionContext.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderExtensionContext.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderExtensionContext.h 2023-03-09 19:06:50
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderExtensionContext.h 2023-05-26 03:45:24
@@ -9,6 +9,8 @@
#import <AuthenticationServices/ASFoundation.h>
#import <Foundation/Foundation.h>
+@class ASPasskeyAssertionCredential;
+@class ASPasskeyRegistrationCredential;
@class ASPasswordCredential;
NS_ASSUME_NONNULL_BEGIN
@@ -27,6 +29,23 @@
NS_SWIFT_DISABLE_ASYNC
;
+/*! @abstract Complete the assertion request by providing the user selected passkey credential.
+ @param credential the credential that the user has selected. Includes assertion response.
+ @param completionHandler optionally contains any work which the extension may need to perform after the request has been completed,
+ as a background-priority task. The `expired` parameter will be YES if the system decides to prematurely terminate a previous
+ non-expiration invocation of the completionHandler.
+ @discussion Calling this method will eventually dismiss the associated view controller.
+ */
+- (void)completeAssertionRequestWithSelectedPasskeyCredential:(ASPasskeyAssertionCredential *)credential completionHandler:(void(^ _Nullable)(BOOL expired))completionHandler NS_SWIFT_NAME(completeAssertionRequest(using:completionHandler:)) API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos);
+
+/*! @abstract Complete the registration request by providing the newly created passkey credential.
+ @param credential the credential that was created in response to the registration request.
+ @param completionHandler optionally contains any work which the extension may need to perform after the request has been completed,
+ as a background-priority task. The `expired` parameter will be YES if the system decides to prematurely terminate a previous
+ non-expiration invocation of the completionHandler.
+ @discussion Calling this method will eventually dismiss the associated view controller.
+ */
+- (void)completeRegistrationRequestWithSelectedPasskeyCredential:(ASPasskeyRegistrationCredential *)credential completionHandler:(void(^ _Nullable)(BOOL expired))completionHandler API_AVAILABLE(ios(17.0), macos(14.0)) NS_SWIFT_NAME(completeRegistrationRequest(using:completionHandler:)) API_UNAVAILABLE(watchos, tvos);
/*! @abstract Complete the request to configure the extension.
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderViewController.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderViewController.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderViewController.h 2023-03-09 19:15:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderViewController.h 2023-06-01 04:30:53
@@ -11,6 +11,8 @@
#import <AuthenticationServices/ASPasswordCredentialIdentity.h>
#import <Foundation/Foundation.h>
+#import <AuthenticationServices/ASAuthorizationPublicKeyCredentialRegistrationRequest.h>
+#import <AuthenticationServices/ASCredentialRequest.h>
NS_ASSUME_NONNULL_BEGIN
@@ -43,8 +45,25 @@
interface in this method.
*/
- (void)provideCredentialWithoutUserInteractionForIdentity:(ASPasswordCredentialIdentity *)credentialIdentity
+API_DEPRECATED_WITH_REPLACEMENT("provideCredentialWithoutUserInteractionForRequest:", ios(12.0, 17.0), macos(11.0, 14.0))
;
+/*! @abstract Attempt to provide the user-requested credential without any user interaction.
+ @param credentialRequest the credential request for which a credential should be provided.
+ @discussion After the user selects a credential identity, the system will create a credential request, the contents of which will depend on whether
+ the credential to use is a password or passkey. The request type will match the type of credential that was requested. Refer to ASPasswordCredentialRequest
+ and ASPasskeyCredentialRequest for details.
+ The system may ask your extension to provide the credential without showing any user interface if possible to enhance the user experience.
+ If your extension can accomplish this (for example, the user’s passwords database is still unlocked from a recent interaction),
+ call -[ASCredentialProviderExtensionContext completeRequestWithSelectedCredential:completionHandler:] for password credentials or
+ -[ASCredentialProviderExtensionContext completeAssertionRequestWithSelectedPasskeyCredential:completionHandler:] for passkey credentials.
+ If an error occurs, call -[ASCredentialProviderExtensionContext cancelRequestWithError:] and pass an error with domain
+ ASExtensionErrorDomain and an appropriate error code from ASExtensionErrorCode. For example, if your extension requires user interaction
+ because the passwords database needs to be unlocked, pass an error with code ASExtensionErrorCodeUserInteractionRequired.
+ @note When this method is called, your extension's view controller is not present on the screen. Do not attempt or expect to show any user
+ interface in this method.
+ */
+- (void)provideCredentialWithoutUserInteractionForRequest:(id <ASCredentialRequest>)credentialRequest API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos);
/*! @abstract Prepare the view controller to show user interface for providing the user-requested credential.
@param credentialIdentity the credential identity for which a credential should be provided.
@@ -58,8 +77,22 @@
be found in the database, pass an error with code ASExtensionErrorCodeCredentialIdentityNotFound.
*/
- (void)prepareInterfaceToProvideCredentialForIdentity:(ASPasswordCredentialIdentity *)credentialIdentity
+API_DEPRECATED_WITH_REPLACEMENT("prepareInterfaceToProvideCredentialForRequest:", ios(12.0, 17.0), macos(11.0, 14.0))
;
+/*! @abstract Prepare the view controller to show user interface for providing the user-requested credential.
+ @param credentialRequest the credential request for which a credential should be provided.
+ @discussion The system calls this method when your extension cannot provide the requested credential without user interaction.
+ Set up the view controller for any user interaction required to provide the requested credential only. The user interaction should
+ be limited in nature to operations required for providing the requested credential. An example is showing an authentication UI to
+ unlock the user's passwords database.
+ Call -[ASCredentialProviderExtensionContext completeRequestWithSelectedCredential:completionHandler:] for password credentials or
+ -[ASCredentialProviderExtensionContext completeAssertionRequestWithSelectedPasskeyCredential:completionHandler:] for passkey credentials.
+ If an error occurs, call -[ASCredentialProviderExtensionContext cancelRequestWithError:] and pass an error with domain
+ ASExtensionErrorDomain and an appropriate error code from ASExtensionErrorCode. For example, if the credential identity cannot
+ be found in the database, pass an error with code ASExtensionErrorCodeCredentialIdentityNotFound.
+ */
+- (void)prepareInterfaceToProvideCredentialForRequest:(id <ASCredentialRequest>)credentialRequest API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos);
/*! @abstract Prepare the view controller to show user interface when the user enables your extension.
@@ -71,6 +104,18 @@
*/
- (void)prepareInterfaceForExtensionConfiguration;
+/*! @abstract Prepare UI to register a passkey for the specified relying party.
+ @param registrationRequest the passkey registration request parameters needed to register a new passkey.
+ @discussion The system calls this method when the user selects your extension to use for creating a passkey.
+ In order for your extension to be presented in the list of options for creating passkeys, your app and extension need
+ to specify a true value for the Information Property List key ASCredentialProviderPasskeySupport.
+ This method will present your extension's UI for user authentication before creating the passkey.
+ Once the passkey is created, your extension should call -[ASCredentialProviderExtensionContext completeRegistrationRequestWithSelectedPasskeyCredential:completionHandler]
+ with the newly created ASPasskeyCredential object.
+ If an error occurs, call -[ASCredentialProviderExtensionContext cancelRequestWithError:] and pass an error with domain
+ ASExtensionErrorDomain and an appropriate error code from ASExtensionErrorCode.
+ */
+- (void)prepareInterfaceForPasskeyRegistration:(id <ASCredentialRequest>)registrationRequest API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos);
@end
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialRequest.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialRequest.h 2023-05-26 03:45:24
@@ -0,0 +1,41 @@
+//
+// ASCredentialRequest.h
+// AuthenticationServices Framework
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol ASCredentialIdentity;
+
+/*! @enum ASCredentialRequestType
+ @constant ASCredentialRequestTypePassword Password credential type.
+ @constant ASCredentialRequestTypePasskeyAssertion Passkey assertion credential type.
+ */
+typedef NS_ENUM(NSInteger, ASCredentialRequestType) {
+ ASCredentialRequestTypePassword = 0,
+ ASCredentialRequestTypePasskeyAssertion,
+} API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos);
+
+/*! @protocol ASCredentialRequest
+ ASCredentialRequest is used by Credential Provider Extensions to identify a credential to use
+ for an authorization request. For passkey requests it also carries the assertion challenge to
+ be used by the extension to create the assertion response.
+ */
+AS_EXTERN API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos)
+@protocol ASCredentialRequest <NSObject, NSSecureCoding, NSCopying>
+
+/*! @abstract The type of credential used for this request.
+ */
+@property (nonatomic, readonly) ASCredentialRequestType type;
+
+/*! @abstract The credential identity selected by the user to authenticate.
+ */
+@property (nonatomic, readonly) id<ASCredentialIdentity> credentialIdentity;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASFoundation.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASFoundation.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASFoundation.h 2023-03-08 03:48:14
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASFoundation.h 2023-05-26 03:45:24
@@ -5,10 +5,26 @@
// Copyright © 2018 Apple Inc. All rights reserved.
//
+#import <Foundation/Foundation.h>
+
#ifdef __cplusplus
#define AS_EXTERN extern "C" __attribute__((visibility ("default")))
#else
#define AS_EXTERN extern __attribute__((visibility ("default")))
+#endif
+
+#ifdef NS_HEADER_AUDIT_BEGIN
+#define AS_HEADER_AUDIT_BEGIN NS_HEADER_AUDIT_BEGIN
+#define AS_HEADER_AUDIT_END NS_HEADER_AUDIT_END
+#else
+#define AS_HEADER_AUDIT_BEGIN(...) NS_ASSUME_NONNULL_BEGIN
+#define AS_HEADER_AUDIT_END(...) NS_ASSUME_NONNULL_END
+#endif
+
+#ifdef __AS_INTERNAL_AVAILABILITY
+#define AS_API_AVAILABLE(...)
+#else
+#define AS_API_AVAILABLE API_AVAILABLE
#endif
#if __has_include(<UIKit/UIKit.h>)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyAssertionCredential.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyAssertionCredential.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyAssertionCredential.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyAssertionCredential.h 2023-05-26 03:45:25
@@ -0,0 +1,59 @@
+//
+// ASPasskeyAssertionCredential.h
+// AuthenticationServices Framework
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <AuthenticationServices/ASAuthorizationCredential.h>
+#import <AuthenticationServices/ASFoundation.h>
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! @class This class encapsulates a passkey assertion response created by a credential provider extension.
+ */
+AS_EXTERN API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos)
+@interface ASPasskeyAssertionCredential : NSObject <ASAuthorizationCredential>
+
+/*! @abstract Initializes an ASPasskeyCredential object.
+ @param user the user.
+ @param relyingParty the relying party.
+ @param signature the signature for the assertion challenge.
+ */
+- (instancetype)initWithUserHandle:(NSData *)userHandle relyingParty:(NSString *)relyingParty signature:(NSData *)signature clientDataHash:(NSData *)clientDataHash authenticatorData:(NSData *)authenticatorData credentialID:(NSData *)credentialID;
+
+/*! @abstract Creates and initializes a new ASPasskeyCredential object.
+ @param user the user.
+ @param relyingParty the relying party.
+ @param signature the signature for the assertion challenge.
+ */
++ (instancetype)credentialWithUserHandle:(NSData *)userHandle relyingParty:(NSString *)relyingParty signature:(NSData *)signature clientDataHash:(NSData *)clientDataHash authenticatorData:(NSData *)authenticatorData credentialID:(NSData *)credentialID;
+
+/*! @abstract The user handle of this passkey.
+ */
+@property (nonatomic, copy, readonly) NSData *userHandle;
+
+/*! @abstract The relying party of this credential.
+ */
+@property (nonatomic, copy, readonly) NSString *relyingParty;
+
+/*! @abstract The signature of this credential.
+ */
+@property (nonatomic, copy, readonly) NSData *signature;
+
+/*! @abstract The hash of the client data for this assertion result.
+ */
+@property (nonatomic, copy, readonly) NSData *clientDataHash;
+
+/*! @abstract The authenticator data of the application that created this credential.
+ */
+@property (nonatomic, copy, readonly) NSData *authenticatorData;
+
+/*! @abstract The raw credential ID for this passkey credential.
+ */
+@property (nonatomic, copy, readonly) NSData *credentialID;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyCredentialIdentity.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyCredentialIdentity.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyCredentialIdentity.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyCredentialIdentity.h 2023-05-26 03:45:24
@@ -0,0 +1,77 @@
+//
+// ASPasskeyCredentialIdentity.h
+// AuthenticationServices Framework
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <AuthenticationServices/ASCredentialIdentity.h>
+#import <AuthenticationServices/ASFoundation.h>
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! @class ASPasskeyCredentialIdentity
+ An ASPasswordCredentialIdentity is used to describe an identity that can use a service upon successful passkey based authentication.
+ Use this class to save entries into ASCredentialIdentityStore.
+ */
+AS_EXTERN API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos)
+@interface ASPasskeyCredentialIdentity : NSObject <NSCopying, NSSecureCoding, ASCredentialIdentity>
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*! @abstract Initialize an instance of ASPasskeyCredentialIdentity.
+ @param relyingPartyIdentifier relying party for this credential.
+ @param userName user name associated with this credential.
+ @param credentialID credential ID of this passkey credential.
+ @param userHandle user handle data of this passkey credential.
+ @param recordIdentifier identifier used by credential provider extension to identify this credential.
+ */
+- (instancetype)initWithRelyingPartyIdentifier:(NSString *)relyingPartyIdentifier userName:(NSString *)userName credentialID:(NSData *)credentialID userHandle:(NSData *)userHandle recordIdentifier:(nullable NSString *)recordIdentifier NS_REFINED_FOR_SWIFT;
+
+/*! @abstract Create and initialize an instance of ASPasskeyCredentialIdentity.
+ @param relyingPartyIdentifier relying party for this credential.
+ @param userName user name associated with this credential.
+ @param credentialID credential ID of this passkey credential.
+ @param userHandle user handle data of this passkey credential.
+ @param recordIdentifier identifier used by credential provider extension to identify this credential.
+ */
++ (instancetype)identityWithRelyingPartyIdentifier:(NSString *)relyingPartyIdentifier userName:(NSString *)userName credentialID:(NSData *)credentialID userHandle:(NSData *)userHandle recordIdentifier:(nullable NSString *)recordIdentifier;
+
+/*! @abstract The relying party identifier of this passkey credential.
+ @discussion This field is reported as the serviceIdentifier property of ASCredentialIdentity.
+ */
+@property (nonatomic, readonly, copy) NSString *relyingPartyIdentifier;
+
+/*! @abstract The user name of this passkey credential.
+ @discussion This field is reported as the user property of ASCredentialIdentity.
+ */
+@property (nonatomic, readonly, copy) NSString *userName;
+
+/*! @abstract The credential ID of this passkey credential.
+ @discussion This field is used to identify the correct credential to use based on relying party request parameters.
+ */
+@property (nonatomic, readonly, copy) NSData *credentialID;
+
+/*! @abstract The user handle of this passkey credential.
+ @discussion This field is used to identify the correct credential to use based on relying party request parameters.
+ */
+@property (nonatomic, readonly, copy) NSData *userHandle;
+
+/*! @abstract Get the record identifier.
+ @result The record identifier.
+ @discussion You can utilize the record identifier to uniquely identify the credential identity in your local database.
+ */
+@property (nonatomic, readonly, copy, nullable) NSString *recordIdentifier;
+
+/*! @abstract Get or set the rank of the credential identity object.
+ @discussion The system may utilize the rank to decide which credential identity precedes the other
+ if two identities have the same service identifier. A credential identity with a larger rank value
+ precedes one with a smaller value if both credential identities have the same service identifier.
+ The default value of this property is 0.
+ */
+@property (nonatomic) NSInteger rank;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyCredentialRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyCredentialRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyCredentialRequest.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyCredentialRequest.h 2023-05-26 03:45:25
@@ -0,0 +1,46 @@
+//
+// ASPasskeyCredentialRequest.h
+// AuthenticationServices Framework
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <AuthenticationServices/ASAuthorizationPublicKeyCredentialConstants.h>
+#import <AuthenticationServices/ASCredentialRequest.h>
+#import <AuthenticationServices/ASPasskeyCredentialIdentity.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! @class This class encapsulates a password assertion request made to a credential provider extension.
+ */
+AS_EXTERN API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos)
+@interface ASPasskeyCredentialRequest : NSObject <ASCredentialRequest>
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*! @abstract Initializes an instance of ASPasskeyCredentialRequest.
+ @param credentialIdentity credential identity to used for this request.
+ @param clientDataHash the client data to be signed for this assertion request.
+ @param userVerificationPreference user verification preference setting of this assertion request.
+ */
+- (instancetype)initWithCredentialIdentity:(ASPasskeyCredentialIdentity *)credentialIdentity clientDataHash:(NSData *)clientDataHash userVerificationPreference:(ASAuthorizationPublicKeyCredentialUserVerificationPreference)userVerificationPreference;
+
+/*! @abstract Creates and initializes an instance of ASPasskeyCredentialRequest.
+ @param credentialIdentity credential identity to used for this request.
+ @param clientDataHash the client data to be signed for this assertion request.
+ @param userVerificationPreference user verification preference setting of this assertion request.
+ */
++ (instancetype)requestWithCredentialIdentity:(ASPasskeyCredentialIdentity *)credentialIdentity clientDataHash:(NSData *)clientDataHash userVerificationPreference:(ASAuthorizationPublicKeyCredentialUserVerificationPreference)userVerificationPreference;
+
+/*! @abstract Hash of client data for credential provider to sign as part of the assertion/registration operation.
+ */
+@property (nonatomic, readonly) NSData *clientDataHash;
+
+/*! @abstract A preference for whether the authenticator should attempt to verify that
+ it is being used by its owner, such as through a PIN or biometrics.
+ */
+@property (nonatomic) ASAuthorizationPublicKeyCredentialUserVerificationPreference userVerificationPreference;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyRegistrationCredential.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyRegistrationCredential.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyRegistrationCredential.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasskeyRegistrationCredential.h 2023-05-26 03:45:25
@@ -0,0 +1,53 @@
+//
+// ASPasskeyRegistrationCredential.h
+// AuthenticationServices Framework
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <AuthenticationServices/ASAuthorizationCredential.h>
+#import <AuthenticationServices/ASFoundation.h>
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/*! @class This class encapsulates a passkey registration response created by a credential provider extension.
+ */
+AS_EXTERN API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos)
+@interface ASPasskeyRegistrationCredential : NSObject <ASAuthorizationCredential>
+
+/*! @abstract Initializes an ASPasskeyRegistrationCredential object.
+ @param relyingParty the relying party identifier associated with this passkey.
+ @param clientDataHash the JSON encoded client data for this registration result.
+ @param rawID the raw credential identifier of this passkey.
+ @param attestationObject the attestation object for this passkey registration result.
+ */
+- (instancetype)initWithRelyingParty:(NSString *)relyingParty clientDataHash:(NSData *)clientDataHash credentialID:(NSData *)credentialID attestationObject:(NSData *)attestationObject;
+
+/*! @abstract Creates and initializes an ASPasskeyRegistrationCredential object.
+ @param relyingParty the relying party identifier associated with this passkey.
+ @param clientDataHash the JSON encoded client data for this registration result.
+ @param rawID the raw credential identifier of this passkey.
+ @param attestationObject the attestation object for this passkey registration result.
+ */
++ (instancetype)credentialWithRelyingParty:(NSString *)relyingParty clientDataHash:(NSData *)clientDataHash credentialID:(NSData *)credentialID attestationObject:(NSData *)attestationObject;
+
+/*! @abstract The relying party identifier associated with this passkey.
+ */
+@property (nonatomic, readonly) NSString *relyingParty;
+
+/*! @abstract The hash of the client data for this registration result.
+ */
+@property (nonatomic, readonly) NSData *clientDataHash;
+
+/*! @abstract The raw credential identifier of this passkey.
+ */
+@property (nonatomic, readonly) NSData *credentialID;
+
+/*! @abstract The attestation object for this passkey registration result.
+ */
+@property (nonatomic, readonly) NSData *attestationObject;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasswordCredentialIdentity.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasswordCredentialIdentity.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasswordCredentialIdentity.h 2023-03-09 19:06:52
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasswordCredentialIdentity.h 2023-05-26 03:45:25
@@ -8,6 +8,7 @@
#import <AuthenticationServices/ASFoundation.h>
#import <Foundation/Foundation.h>
+#import <AuthenticationServices/ASCredentialIdentity.h>
NS_ASSUME_NONNULL_BEGIN
@@ -18,7 +19,7 @@
Use this class to save entries into ASCredentialIdentityStore.
*/
AS_EXTERN API_AVAILABLE(ios(12.0), macCatalyst(14.0), macos(11.0)) API_UNAVAILABLE(tvos, watchos)
-@interface ASPasswordCredentialIdentity : NSObject <NSCopying, NSSecureCoding>
+@interface ASPasswordCredentialIdentity : NSObject <NSCopying, NSSecureCoding, ASCredentialIdentity>
- (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasswordCredentialRequest.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasswordCredentialRequest.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasswordCredentialRequest.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPasswordCredentialRequest.h 2023-05-26 03:45:25
@@ -0,0 +1,33 @@
+//
+// ASPasswordCredentialRequest.h
+// AuthenticationServices Framework
+//
+// Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <AuthenticationServices/ASCredentialRequest.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class ASPasswordCredentialIdentity;
+
+/*! @class This class encapsulates a password request made to a credential provider extension.
+ */
+AS_EXTERN API_AVAILABLE(ios(17.0), macCatalyst(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos)
+@interface ASPasswordCredentialRequest : NSObject <ASCredentialRequest>
+
+- (instancetype)init NS_UNAVAILABLE;
+
+/*! @abstract Initializes an instance of ASPasswordCredentialRequest.
+ @param credentialIdentity the credential identity to use for this request.
+ */
+- (instancetype)initWithCredentialIdentity:(ASPasswordCredentialIdentity *)credentialIdentity NS_DESIGNATED_INITIALIZER;
+
+/*! @abstract Creates and initializes an instance of ASPasswordCredentialRequest.
+ @param credentialIdentity the credential identity to use for this request.
+ */
++ (instancetype)requestWithCredentialIdentity:(ASPasswordCredentialIdentity *)credentialIdentity;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPublicKeyCredentialClientData.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPublicKeyCredentialClientData.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPublicKeyCredentialClientData.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASPublicKeyCredentialClientData.h 2023-05-26 03:45:24
@@ -0,0 +1,38 @@
+// Copyright © 2023 Apple Inc. All rights reserved.
+
+#import <AuthenticationServices/ASFoundation.h>
+
+AS_HEADER_AUDIT_BEGIN(nullability, sendability)
+
+NS_REFINED_FOR_SWIFT
+AS_API_AVAILABLE(macos(13.5), macCatalyst(16.6)) API_UNAVAILABLE(ios, tvos) API_UNAVAILABLE(watchos)
+typedef NS_ENUM(NSInteger, ASPublicKeyCredentialClientDataCrossOriginValue) {
+ ASPublicKeyCredentialClientDataCrossOriginValueNotSet,
+ ASPublicKeyCredentialClientDataCrossOriginValueCrossOrigin,
+ ASPublicKeyCredentialClientDataCrossOriginValueSameOriginWithAncestors,
+};
+
+NS_REFINED_FOR_SWIFT AS_EXTERN
+AS_API_AVAILABLE(macos(13.5), macCatalyst(16.6)) API_UNAVAILABLE(ios, tvos) API_UNAVAILABLE(watchos)
+/// This object represents the client data for a public key credential request, as defined in the WebAuthentication standard.
+@interface ASPublicKeyCredentialClientData : NSObject
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+- (instancetype)initWithChallenge:(NSData *)challenge origin:(NSString *)origin;
+
+/// The challenge to be signed during the operation.
+@property (nonatomic) NSData *challenge;
+
+/// The origin for where the request was performed.
+@property (nonatomic) NSString *origin;
+
+/// The top-level origin, if applicable.
+@property (nonatomic, nullable) NSString *topOrigin;
+
+/// Indicates whether this is a cross-origin request, if applicable.
+@property (nonatomic) ASPublicKeyCredentialClientDataCrossOriginValue crossOrigin;
+
+@end
+
+AS_HEADER_AUDIT_END(nullability, sendability)
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASSettingsHelper.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASSettingsHelper.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASSettingsHelper.h 1969-12-31 19:00:00
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASSettingsHelper.h 2023-05-26 03:45:26
@@ -0,0 +1,21 @@
+// Copyright © 2023 Apple Inc. All rights reserved.
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(tvos, watchos)
+@interface ASSettingsHelper : NSObject
+
+/// Calling this method will open the Settings app and navigate directly to the AutoFill provider settings.
++ (void)openCredentialProviderAppSettingsWithCompletionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT NS_SWIFT_ASYNC_NAME(openCredentialProviderAppSettings());
+
+/// Calling this method will open the Settings app and navigate directly to the Verification Code provider settings.
++ (void)openVerificationCodeAppSettingsWithCompletionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT NS_SWIFT_ASYNC_NAME(openVerificationCodeAppSettings());
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASWebAuthenticationSession.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASWebAuthenticationSession.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASWebAuthenticationSession.h 2023-03-09 23:51:56
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASWebAuthenticationSession.h 2023-05-26 03:45:25
@@ -12,7 +12,7 @@
@protocol ASWebAuthenticationPresentationContextProviding;
-AS_EXTERN API_AVAILABLE(ios(12.0), macCatalyst(13.0), macos(10.15), watchos(6.2)) API_UNAVAILABLE(tvos)
+AS_EXTERN API_AVAILABLE(ios(12.0), macCatalyst(13.0), macos(10.15), watchos(6.2), tvos(16.0))
NSErrorDomain const ASWebAuthenticationSessionErrorDomain;
/*! @enum ASWebAuthenticationSessionErrorCode
@@ -27,9 +27,9 @@
*/
typedef NS_ERROR_ENUM(ASWebAuthenticationSessionErrorDomain, ASWebAuthenticationSessionErrorCode) {
ASWebAuthenticationSessionErrorCodeCanceledLogin = 1,
- ASWebAuthenticationSessionErrorCodePresentationContextNotProvided API_AVAILABLE(ios(13.0), macos(10.15)) API_UNAVAILABLE(watchos) = 2,
- ASWebAuthenticationSessionErrorCodePresentationContextInvalid API_AVAILABLE(ios(13.0), macos(10.15)) API_UNAVAILABLE(watchos) = 3,
-} API_AVAILABLE(ios(12.0), macCatalyst(13.0), macos(10.15), watchos(6.2)) API_UNAVAILABLE(tvos);
+ ASWebAuthenticationSessionErrorCodePresentationContextNotProvided API_AVAILABLE(ios(13.0), macos(10.15)) API_UNAVAILABLE(watchos, tvos) = 2,
+ ASWebAuthenticationSessionErrorCodePresentationContextInvalid API_AVAILABLE(ios(13.0), macos(10.15)) API_UNAVAILABLE(watchos, tvos) = 3,
+} API_AVAILABLE(ios(12.0), macCatalyst(13.0), macos(10.15), watchos(6.2), tvos(16.0));
typedef void (^ASWebAuthenticationSessionCompletionHandler)(NSURL *_Nullable callbackURL, NSError *_Nullable error) NS_SWIFT_NAME(ASWebAuthenticationSession.CompletionHandler);
@@ -56,7 +56,7 @@
The app can cancel the session by calling -[ASWebAuthenticationSession cancel]. This will also dismiss the view controller that
is showing the web service's login page.
*/
-AS_EXTERN API_AVAILABLE(ios(12.0), macCatalyst(13.0), macos(10.15), watchos(6.2)) API_UNAVAILABLE(tvos)
+AS_EXTERN API_AVAILABLE(ios(12.0), macCatalyst(13.0), macos(10.15), watchos(6.2), tvos(16.0))
@interface ASWebAuthenticationSession : NSObject
/*! @abstract Returns an ASWebAuthenticationSession object.
@@ -70,13 +70,13 @@
must be set prior to calling -start, otherwise the authorization view cannot be displayed. If deploying to iOS prior to
13.0, the desired window is inferred by the application's key window.
*/
-@property (nonatomic, weak) id <ASWebAuthenticationPresentationContextProviding> presentationContextProvider API_AVAILABLE(ios(13.0), macos(10.15)) API_UNAVAILABLE(watchos);
+@property (nonatomic, weak) id <ASWebAuthenticationPresentationContextProviding> presentationContextProvider API_AVAILABLE(ios(13.0), macos(10.15)) API_UNAVAILABLE(watchos, tvos);
/*! @abstract Indicates whether this session should ask the browser for an ephemeral session.
@discussion Ephemeral web browser sessions do not not share cookies or other browsing data with a user's normal browser session.
This value is NO by default. Setting this property after calling -[ASWebAuthenticationSession start] has no effect.
*/
-@property (nonatomic) BOOL prefersEphemeralWebBrowserSession API_AVAILABLE(ios(13.0), macos(10.15), watchos(6.2));
+@property (nonatomic) BOOL prefersEphemeralWebBrowserSession API_AVAILABLE(ios(13.0), macos(10.15), watchos(6.2)) API_UNAVAILABLE(tvos);
/*! @abstract Returns whether the session can be successfully started. This property returns the same value as calling -start,
but without the side effect of actually starting the session.
@@ -93,7 +93,7 @@
/*! @abstract Cancel an ASWebAuthenticationSession. If the view controller is already presented to load the webpage for
authentication, it will be dismissed. Calling cancel on an already canceled session will have no effect.
*/
-- (void)cancel;
+- (void)cancel API_UNAVAILABLE(tvos);
+ (instancetype)new NS_UNAVAILABLE;
- (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/AuthenticationServices.h /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/AuthenticationServices.h
--- /Applications/Xcode_14.3.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/AuthenticationServices.h 2023-03-08 03:48:15
+++ /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/AuthenticationServices.h 2023-05-26 03:45:22
@@ -77,7 +77,23 @@
#import <AuthenticationServices/ASAuthorizationProviderExtensionLoginManager.h>
#import <AuthenticationServices/ASAuthorizationProviderExtensionRegistrationHandler.h>
+#import <AuthenticationServices/ASAuthorizationProviderExtensionUserLoginConfiguration.h>
+
#import <AuthenticationServices/ASAuthorizationWebBrowserExternallyAuthenticatableRequest.h>
#import <AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredential.h>
#import <AuthenticationServices/ASAuthorizationWebBrowserPublicKeyCredentialManager.h>
+#import <AuthenticationServices/ASCredentialIdentity.h>
+#import <AuthenticationServices/ASCredentialRequest.h>
+#import <AuthenticationServices/ASPasskeyAssertionCredential.h>
+#import <AuthenticationServices/ASPasskeyCredentialIdentity.h>
+#import <AuthenticationServices/ASPasskeyCredentialRequest.h>
+#import <AuthenticationServices/ASPasskeyRegistrationCredential.h>
+#import <AuthenticationServices/ASPasswordCredentialRequest.h>
+
+#import <AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredentialAssertionRequest.h>
+#import <AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredentialProvider.h>
+#import <AuthenticationServices/ASAuthorizationWebBrowserPlatformPublicKeyCredentialRegistrationRequest.h>
+#import <AuthenticationServices/ASPublicKeyCredentialClientData.h>
+
+#import <AuthenticationServices/ASSettingsHelper.h>
- README
- xcode13.0 Binding Status
- xcode13.1 Binding Status
- xcode13.2 Binding Status
- xcode13.3 Binding Status
- xcode13.4 Binding Status
- xcode14.0 Binding Status
- xcode14.1 Binding Status
- xcode14.2 Binding Status
- xcode14.3 Binding Status
- xcode15.0 Binding Status
- xcode15.1 Binding Status
- xcode15.3 Binding Status
- xcode15.4 Binding Status
- xcode16.0 Binding Status