From d7514f7c5c8204415d50427a4070f761dae4372d Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 2 Aug 2022 13:34:36 -0400 Subject: [PATCH 1/7] [AuthenticationServices] Add support for Xcode 14 beta 4. --- src/authenticationservices.cs | 278 +++++++++++++++++- .../iOS-AuthenticationServices.todo | 5 - .../macOS-AuthenticationServices.todo | 80 ----- .../tvOS-AuthenticationServices.todo | 23 -- .../iOS-AuthenticationServices.todo | 5 - .../macOS-AuthenticationServices.todo | 80 ----- .../tvOS-AuthenticationServices.todo | 23 -- 7 files changed, 264 insertions(+), 230 deletions(-) delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/iOS-AuthenticationServices.todo delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/macOS-AuthenticationServices.todo delete mode 100644 tests/xtro-sharpie/iOS-AuthenticationServices.todo delete mode 100644 tests/xtro-sharpie/macOS-AuthenticationServices.todo diff --git a/src/authenticationservices.cs b/src/authenticationservices.cs index 1d2b936e91a8..2436c55b28d1 100644 --- a/src/authenticationservices.cs +++ b/src/authenticationservices.cs @@ -90,6 +90,50 @@ public enum ASWebAuthenticationSessionErrorCode : long { PresentationContextInvalid = 3, } + [Flags, NoWatch, NoTV, Mac (13,0), iOS (16,0), MacCatalyst (16,0)] + [Native] + public enum ASAuthorizationControllerRequestOptions : ulong + { + ImmediatelyAvailableCredentials = 1uL << 0, + } + + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] + [Native] + public enum ASAuthorizationProviderExtensionAuthenticationMethod : long + { + Password = 1, + UserSecureEnclaveKey = 2, + } + + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] + [Native] + public enum ASAuthorizationProviderExtensionKeyType : long + { + DeviceSigning = 1, + DeviceEncryption = 2, + SecureEnclaveKey = 3, + } + + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] + [Native] + public enum ASAuthorizationProviderExtensionRegistrationResult : long + { + Success = 0, + Failed = 1, + UserInterfaceRequired = 2, + FailedNoRetry = 3, + } + + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] + [Flags] + [Native] + public enum ASAuthorizationProviderExtensionRequestOptions : ulong + { + None = 0x0, + UserInteractionEnabled = 1uL << 0, + RegistrationRepair = 1uL << 1, + } + delegate void ASCredentialIdentityStoreCompletionHandler (bool success, NSError error); [Introduced (PlatformName.MacCatalyst, 14, 0)] @@ -245,7 +289,7 @@ interface ASPasswordCredential : NSCopying, NSSecureCoding, ASAuthorizationCrede delegate void ASWebAuthenticationSessionCompletionHandler ([NullAllowed] NSUrl callbackUrl, [NullAllowed] NSError error); - [NoTV] + [TV (16,0)] [Watch (6,2)] [Mac (10, 15)] [iOS (12,0)] @@ -261,7 +305,7 @@ interface ASWebAuthenticationSession { [Export ("cancel")] void Cancel (); - [iOS (13,0), NoWatch] + [iOS (13,0), NoWatch, NoTV] [NullAllowed, Export ("presentationContextProvider", ArgumentSemantic.Weak)] IASWebAuthenticationPresentationContextProviding PresentationContextProvider { get; set; } @@ -437,6 +481,18 @@ interface ASAuthorizationController { [TV (15,0), NoWatch, NoMac, NoiOS, NoMacCatalyst] [Export ("customAuthorizationMethods", ArgumentSemantic.Copy)] NSString[] CustomAuthorizationMethods { get; set; } + + [NoWatch, NoTV, NoMacCatalyst, NoMac, iOS (16,0)] + [Export ("performAutoFillAssistedRequests")] + void PerformAutoFillAssistedRequests (); + + [NoWatch, NoTV, Mac (13,0), iOS (16,0)] + [Export ("performRequestsWithOptions:")] + void PerformRequests (ASAuthorizationControllerRequestOptions options); + + [NoWatch, NoTV, Mac (13,0), iOS (16,0)] + [Export ("cancel")] + void Cancel (); } interface IASAuthorizationCredential { } @@ -536,6 +592,10 @@ enum ASAuthorizationProviderAuthorizationOperation { [Mac (11, 0), iOS (14, 0)] [Field ("ASAuthorizationProviderAuthorizationOperationConfigurationRemoved")] ConfigurationRemoved, + + [NoWatch, NoTV, Mac (13, 0), iOS (16, 0)] + [Field ("ASAuthorizationProviderAuthorizationOperationDirectRequest")] + DirectRequest, } [Introduced (PlatformName.MacCatalyst, 14, 0)] @@ -614,6 +674,11 @@ interface ASAuthorizationProviderExtensionAuthorizationRequest { [Mac (12,3), iOS (15,4), MacCatalyst (15,4)] [Export ("userInterfaceEnabled")] bool UserInterfaceEnabled { [Bind ("isUserInterfaceEnabled")] get; } + + [NullAllowed] + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13, 0)] + [Export ("loginManager", ArgumentSemantic.Strong)] + ASAuthorizationProviderExtensionLoginManager LoginManager { get; } } [Watch (6,0), TV (13,0), Mac (10,15), iOS (13,0)] @@ -1043,7 +1108,7 @@ enum ASCoseAlgorithmIdentifier : long { interface IASAuthorizationPublicKeyCredentialAssertion { } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [Protocol] interface ASAuthorizationPublicKeyCredentialAssertion : ASPublicKeyCredential { @@ -1060,7 +1125,7 @@ interface ASAuthorizationPublicKeyCredentialAssertion : ASPublicKeyCredential NSData Signature { get; } } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [BaseType (typeof (ASAuthorizationRequest))] [DisableDefaultCtor] interface ASAuthorizationPlatformPublicKeyCredentialAssertionRequest : ASAuthorizationPublicKeyCredentialAssertionRequest @@ -1084,7 +1149,7 @@ interface ASAuthorizationSecurityKeyPublicKeyCredentialAssertionRequest : ASAuth interface IASAuthorizationPublicKeyCredentialAssertionRequest { } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [Protocol] interface ASAuthorizationPublicKeyCredentialAssertionRequest : NSSecureCoding, NSCopying { @@ -1107,7 +1172,7 @@ interface ASAuthorizationPublicKeyCredentialAssertionRequest : NSSecureCoding, N interface IASAuthorizationPublicKeyCredentialDescriptor { } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [Protocol] interface ASAuthorizationPublicKeyCredentialDescriptor : NSSecureCoding, NSCopying { @@ -1116,7 +1181,7 @@ interface ASAuthorizationPublicKeyCredentialDescriptor : NSSecureCoding, NSCopyi NSData CredentialId { get; set; } } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [Protocol] interface ASAuthorizationPublicKeyCredentialRegistration : ASPublicKeyCredential { @@ -1125,7 +1190,7 @@ interface ASAuthorizationPublicKeyCredentialRegistration : ASPublicKeyCredential NSData RawAttestationObject { get; } } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [Protocol] interface ASAuthorizationPublicKeyCredentialRegistrationRequest : NSSecureCoding, NSCopying { @@ -1153,12 +1218,13 @@ interface ASAuthorizationPublicKeyCredentialRegistrationRequest : NSSecureCoding [Export ("userVerificationPreference")] NSString UserVerificationPreference { get; set; } + [NoTV] [Abstract] [Export ("attestationPreference")] NSString AttestationPreference { get; set; } } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [Protocol] interface ASPublicKeyCredential : ASAuthorizationCredential { @@ -1171,7 +1237,7 @@ interface ASPublicKeyCredential : ASAuthorizationCredential NSData CredentialId { get; } } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface ASAuthorizationPlatformPublicKeyCredentialDescriptor : ASAuthorizationPublicKeyCredentialDescriptor @@ -1181,7 +1247,7 @@ interface ASAuthorizationPlatformPublicKeyCredentialDescriptor : ASAuthorization NativeHandle Constructor (NSData credentialId); } - [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), NoTV] + [NoWatch, Mac (12,0), iOS (15,0), MacCatalyst (15,0), TV (16,0)] [BaseType (typeof (NSObject))] [DisableDefaultCtor] interface ASAuthorizationPlatformPublicKeyCredentialProvider : ASAuthorizationProvider @@ -1299,13 +1365,13 @@ interface ASAuthorizationCustomMethod NSString Other { get; } } - [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [NoWatch, TV (16,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] [BaseType (typeof (NSObject))] interface ASAuthorizationPlatformPublicKeyCredentialAssertion : ASAuthorizationPublicKeyCredentialAssertion { } - [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [NoWatch, TV (16,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] [BaseType (typeof (ASAuthorizationRequest))] [DisableDefaultCtor] interface ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest : ASAuthorizationPublicKeyCredentialRegistrationRequest @@ -1325,9 +1391,193 @@ interface ASAuthorizationSecurityKeyPublicKeyCredentialRegistration : ASAuthoriz { } - [NoWatch, NoTV, Mac (12,0), iOS (15,0), MacCatalyst (15,0)] + [NoWatch, TV (16,0), Mac (12,0), iOS (15,0), MacCatalyst (15,0)] [BaseType (typeof (NSObject))] interface ASAuthorizationPlatformPublicKeyCredentialRegistration : ASAuthorizationPublicKeyCredentialRegistration { } + + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] + [BaseType (typeof (NSObject))] + interface ASAuthorizationProviderExtensionKerberosMapping + { + [NullAllowed, Export ("ticketKeyPath")] + string TicketKeyPath { get; set; } + + [NullAllowed, Export ("messageBufferKeyName")] + string MessageBufferKeyName { get; set; } + + [NullAllowed, Export ("realmKeyName")] + string RealmKeyName { get; set; } + + [NullAllowed, Export ("serviceNameKeyName")] + string ServiceNameKeyName { get; set; } + + [NullAllowed, Export ("clientNameKeyName")] + string ClientNameKeyName { get; set; } + + [NullAllowed, Export ("encryptionKeyTypeKeyName")] + string EncryptionKeyTypeKeyName { get; set; } + + [NullAllowed, Export ("sessionKeyKeyName")] + string SessionKeyKeyName { get; set; } + } + + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] + [BaseType (typeof (NSObject))] + [DisableDefaultCtor] + interface ASAuthorizationProviderExtensionLoginConfiguration + { + [Export ("initWithClientID:issuer:tokenEndpointURL:jwksEndpointURL:audience:")] + NativeHandle Constructor (string clientId, string issuer, NSUrl tokenEndpointUrl, NSUrl jwksEndpointUrl, [NullAllowed] string audience); + + [Async] + [Static] + [Export ("configurationWithOpenIDConfigurationURL:clientID:issuer:completion:")] + void Create (NSUrl openIdConfigurationUrl, string clientId, [NullAllowed] string issuer, Action handler); + + [NullAllowed, Export ("invalidCredentialPredicate")] + string InvalidCredentialPredicate { get; set; } + + [NullAllowed, Export ("accountDisplayName")] + string AccountDisplayName { get; set; } + + [Export ("clientID")] + string ClientId { get; } + + [Export ("issuer")] + string Issuer { get; } + + [Export ("audience")] + string Audience { get; set; } + + [Export ("tokenEndpointURL", ArgumentSemantic.Copy)] + NSUrl TokenEndpointUrl { get; set; } + + [Export ("jwksEndpointURL", ArgumentSemantic.Copy)] + NSUrl JwksEndpointUrl { get; set; } + + [Export ("nonceEndpointURL", ArgumentSemantic.Copy)] + NSUrl NonceEndpointUrl { get; set; } + + [Export ("nonceResponseKeypath")] + string NonceResponseKeypath { get; set; } + + [Export ("serverNonceClaimName")] + string ServerNonceClaimName { get; set; } + + [Export ("customNonceRequestValues", ArgumentSemantic.Copy)] + NSUrlQueryItem[] CustomNonceRequestValues { get; set; } + + [Export ("setCustomAssertionRequestHeaderClaims:returningError:")] + bool SetCustomAssertionRequestHeaderClaims (NSDictionary claims, [NullAllowed] out NSError error); + + [Export ("setCustomAssertionRequestBodyClaims:returningError:")] + bool SetCustomAssertionRequestBodyClaims (NSDictionary claims, [NullAllowed] out NSError error); + + [Export ("additionalScopes")] + string AdditionalScopes { get; set; } + + [Export ("includePreviousRefreshTokenInLoginRequest")] + bool IncludePreviousRefreshTokenInLoginRequest { get; set; } + + [Export ("previousRefreshTokenClaimName")] + string PreviousRefreshTokenClaimName { get; set; } + + [Export ("customLoginRequestValues", ArgumentSemantic.Copy)] + NSUrlQueryItem[] CustomLoginRequestValues { get; set; } + + [Export ("setCustomLoginRequestHeaderClaims:returningError:")] + bool SetCustomLoginRequestHeaderClaims (NSDictionary claims, [NullAllowed] out NSError error); + + [Export ("setCustomLoginRequestBodyClaims:returningError:")] + bool SetCustomLoginRequestBodyClaims (NSDictionary claims, [NullAllowed] out NSError error); + + [Export ("kerberosTicketMappings", ArgumentSemantic.Copy)] + ASAuthorizationProviderExtensionKerberosMapping[] KerberosTicketMappings { get; set; } + } + + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] + [BaseType (typeof (NSObject))] + [DisableDefaultCtor] + interface ASAuthorizationProviderExtensionLoginManager + { + [Export ("deviceRegistered")] + bool DeviceRegistered { [Bind ("isDeviceRegistered")] get; } + + [Export ("userRegistered")] + bool UserRegistered { [Bind ("isUserRegistered")] get; } + + [NullAllowed, Export ("registrationToken")] + string RegistrationToken { get; } + + [NullAllowed, Export ("loginUserName")] + string LoginUserName { get; set; } + + [NullAllowed, Export ("ssoTokens", ArgumentSemantic.Copy)] + NSDictionary SsoTokens { get; set; } + + [NullAllowed, Export ("loginConfiguration", ArgumentSemantic.Copy)] + ASAuthorizationProviderExtensionLoginConfiguration LoginConfiguration { get; } + + [Export ("saveLoginConfiguration:error:")] + bool Save (ASAuthorizationProviderExtensionLoginConfiguration loginConfiguration, [NullAllowed] out NSError error); + + [Internal] + [Export ("saveCertificate:keyType:")] + void _Save (IntPtr certificate, ASAuthorizationProviderExtensionKeyType keyType); + + [Wrap ("_Save (certificate.GetHandle (), keyType)")] + void Save (SecCertificate certificate, ASAuthorizationProviderExtensionKeyType keyType); + + [Internal] + [Export ("copyKeyForKeyType:")] + [return: NullAllowed] + IntPtr _CopyKey (ASAuthorizationProviderExtensionKeyType keyType); + + [return: Release] + [Wrap ("new SecKey (_CopyKey (keyType), false);")] + SecKey CopyKey (ASAuthorizationProviderExtensionKeyType keyType); + + [Export ("copyIdentityForKeyType:")] + [return: NullAllowed, Release] + SecIdentity CopyIdentity (ASAuthorizationProviderExtensionKeyType keyType); + + [Async] + [Export ("userNeedsReauthenticationWithCompletion:")] + void UserNeedsReauthentication (Action completion); + + [Export ("deviceRegistrationsNeedsRepair")] + void DeviceRegistrationsNeedsRepair (); + + [Export ("userRegistrationsNeedsRepair")] + void UserRegistrationsNeedsRepair (); + + [Export ("resetKeys")] + void ResetKeys (); + + [Async] + [Export ("presentRegistrationViewControllerWithCompletion:")] + void PresentRegistrationViewController (Action completion); + } + + [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] + [Protocol] + [BaseType (typeof(NSObject))] + interface ASAuthorizationProviderExtensionRegistrationHandler + { + [Async] + [Abstract] + [Export ("beginDeviceRegistrationUsingLoginManager:options:completion:")] + void BeginDeviceRegistration (ASAuthorizationProviderExtensionLoginManager loginManager, ASAuthorizationProviderExtensionRequestOptions options, Action handler); + + [Async] + [Abstract] + [Export ("beginUserRegistrationUsingLoginManager:userName:authenticationMethod:options:completion:")] + void BeginUserRegistration (ASAuthorizationProviderExtensionLoginManager loginManager, [NullAllowed] string userName, ASAuthorizationProviderExtensionAuthenticationMethod authenticationMethod, ASAuthorizationProviderExtensionRequestOptions options, Action handler); + + [Export ("registrationDidComplete")] + void RegistrationDidComplete (); + } + } diff --git a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AuthenticationServices.todo b/tests/xtro-sharpie/api-annotations-dotnet/iOS-AuthenticationServices.todo deleted file mode 100644 index 0a7607402afb..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/iOS-AuthenticationServices.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-enum! ASAuthorizationControllerRequestOptions not bound -!missing-selector! ASAuthorizationController::cancel not bound -!missing-selector! ASAuthorizationController::performAutoFillAssistedRequests not bound -!missing-selector! ASAuthorizationController::performRequestsWithOptions: not bound -!missing-field! ASAuthorizationProviderAuthorizationOperationDirectRequest not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/macOS-AuthenticationServices.todo b/tests/xtro-sharpie/api-annotations-dotnet/macOS-AuthenticationServices.todo deleted file mode 100644 index 483b6d830f88..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/macOS-AuthenticationServices.todo +++ /dev/null @@ -1,80 +0,0 @@ -!missing-enum! ASAuthorizationControllerRequestOptions not bound -!missing-enum! ASAuthorizationProviderExtensionAuthenticationMethod not bound -!missing-enum! ASAuthorizationProviderExtensionKeyType not bound -!missing-enum! ASAuthorizationProviderExtensionRegistrationResult not bound -!missing-enum! ASAuthorizationProviderExtensionRequestOptions not bound -!missing-protocol! ASAuthorizationProviderExtensionRegistrationHandler not bound -!missing-selector! +ASAuthorizationProviderExtensionLoginConfiguration::configurationWithOpenIDConfigurationURL:clientID:issuer:completion: not bound -!missing-selector! ASAuthorizationController::cancel not bound -!missing-selector! ASAuthorizationController::performRequestsWithOptions: not bound -!missing-selector! ASAuthorizationProviderExtensionAuthorizationRequest::loginManager not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::clientNameKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::encryptionKeyTypeKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::messageBufferKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::realmKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::serviceNameKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::sessionKeyKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setClientNameKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setEncryptionKeyTypeKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setMessageBufferKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setRealmKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setServiceNameKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setSessionKeyKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setTicketKeyPath: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::ticketKeyPath not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::accountDisplayName not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::additionalScopes not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::audience not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::clientID not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::customLoginRequestValues not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::customNonceRequestValues not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::includePreviousRefreshTokenInLoginRequest not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::initWithClientID:issuer:tokenEndpointURL:jwksEndpointURL:audience: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::invalidCredentialPredicate not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::issuer not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::jwksEndpointURL not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::kerberosTicketMappings not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::nonceEndpointURL not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::nonceResponseKeypath not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::previousRefreshTokenClaimName not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::serverNonceClaimName not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setAccountDisplayName: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setAdditionalScopes: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setAudience: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomAssertionRequestBodyClaims:returningError: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomAssertionRequestHeaderClaims:returningError: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomLoginRequestBodyClaims:returningError: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomLoginRequestHeaderClaims:returningError: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomLoginRequestValues: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomNonceRequestValues: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setIncludePreviousRefreshTokenInLoginRequest: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setInvalidCredentialPredicate: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setJwksEndpointURL: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setKerberosTicketMappings: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setNonceEndpointURL: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setNonceResponseKeypath: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setPreviousRefreshTokenClaimName: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setServerNonceClaimName: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setTokenEndpointURL: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::tokenEndpointURL not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::copyIdentityForKeyType: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::copyKeyForKeyType: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::deviceRegistrationsNeedsRepair not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::isDeviceRegistered not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::isUserRegistered not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::loginConfiguration not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::loginUserName not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::presentRegistrationViewControllerWithCompletion: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::registrationToken not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::resetKeys not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::saveCertificate:keyType: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::saveLoginConfiguration:error: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::setLoginUserName: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::setSsoTokens: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::ssoTokens not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::userNeedsReauthenticationWithCompletion: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::userRegistrationsNeedsRepair not bound -!missing-type! ASAuthorizationProviderExtensionKerberosMapping not bound -!missing-type! ASAuthorizationProviderExtensionLoginConfiguration not bound -!missing-type! ASAuthorizationProviderExtensionLoginManager not bound -!missing-field! ASAuthorizationProviderAuthorizationOperationDirectRequest not bound diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AuthenticationServices.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AuthenticationServices.todo index 0aae6ce2ff7a..788f41ae611e 100644 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AuthenticationServices.todo +++ b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AuthenticationServices.todo @@ -3,26 +3,3 @@ !missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferencePreferred not bound !missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferenceRequired not bound !missing-field! ASWebAuthenticationSessionErrorDomain not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialAssertion not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialAssertionRequest not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialDescriptor not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialRegistration not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialRegistrationRequest not bound -!missing-protocol! ASPublicKeyCredential not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialAssertionRequest::allowedCredentials not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialAssertionRequest::setAllowedCredentials: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialDescriptor::initWithCredentialID: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialProvider::createCredentialAssertionRequestWithChallenge: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialProvider::createCredentialRegistrationRequestWithChallenge:name:userID: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialProvider::initWithRelyingPartyIdentifier: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialProvider::relyingPartyIdentifier not bound -!missing-selector! ASWebAuthenticationSession::canStart not bound -!missing-selector! ASWebAuthenticationSession::initWithURL:callbackURLScheme:completionHandler: not bound -!missing-selector! ASWebAuthenticationSession::start not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialAssertion not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialAssertionRequest not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialDescriptor not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialProvider not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialRegistration not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest not bound -!missing-type! ASWebAuthenticationSession not bound diff --git a/tests/xtro-sharpie/iOS-AuthenticationServices.todo b/tests/xtro-sharpie/iOS-AuthenticationServices.todo deleted file mode 100644 index 0a7607402afb..000000000000 --- a/tests/xtro-sharpie/iOS-AuthenticationServices.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-enum! ASAuthorizationControllerRequestOptions not bound -!missing-selector! ASAuthorizationController::cancel not bound -!missing-selector! ASAuthorizationController::performAutoFillAssistedRequests not bound -!missing-selector! ASAuthorizationController::performRequestsWithOptions: not bound -!missing-field! ASAuthorizationProviderAuthorizationOperationDirectRequest not bound diff --git a/tests/xtro-sharpie/macOS-AuthenticationServices.todo b/tests/xtro-sharpie/macOS-AuthenticationServices.todo deleted file mode 100644 index 483b6d830f88..000000000000 --- a/tests/xtro-sharpie/macOS-AuthenticationServices.todo +++ /dev/null @@ -1,80 +0,0 @@ -!missing-enum! ASAuthorizationControllerRequestOptions not bound -!missing-enum! ASAuthorizationProviderExtensionAuthenticationMethod not bound -!missing-enum! ASAuthorizationProviderExtensionKeyType not bound -!missing-enum! ASAuthorizationProviderExtensionRegistrationResult not bound -!missing-enum! ASAuthorizationProviderExtensionRequestOptions not bound -!missing-protocol! ASAuthorizationProviderExtensionRegistrationHandler not bound -!missing-selector! +ASAuthorizationProviderExtensionLoginConfiguration::configurationWithOpenIDConfigurationURL:clientID:issuer:completion: not bound -!missing-selector! ASAuthorizationController::cancel not bound -!missing-selector! ASAuthorizationController::performRequestsWithOptions: not bound -!missing-selector! ASAuthorizationProviderExtensionAuthorizationRequest::loginManager not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::clientNameKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::encryptionKeyTypeKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::messageBufferKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::realmKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::serviceNameKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::sessionKeyKeyName not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setClientNameKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setEncryptionKeyTypeKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setMessageBufferKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setRealmKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setServiceNameKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setSessionKeyKeyName: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::setTicketKeyPath: not bound -!missing-selector! ASAuthorizationProviderExtensionKerberosMapping::ticketKeyPath not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::accountDisplayName not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::additionalScopes not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::audience not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::clientID not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::customLoginRequestValues not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::customNonceRequestValues not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::includePreviousRefreshTokenInLoginRequest not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::initWithClientID:issuer:tokenEndpointURL:jwksEndpointURL:audience: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::invalidCredentialPredicate not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::issuer not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::jwksEndpointURL not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::kerberosTicketMappings not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::nonceEndpointURL not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::nonceResponseKeypath not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::previousRefreshTokenClaimName not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::serverNonceClaimName not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setAccountDisplayName: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setAdditionalScopes: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setAudience: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomAssertionRequestBodyClaims:returningError: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomAssertionRequestHeaderClaims:returningError: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomLoginRequestBodyClaims:returningError: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomLoginRequestHeaderClaims:returningError: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomLoginRequestValues: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setCustomNonceRequestValues: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setIncludePreviousRefreshTokenInLoginRequest: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setInvalidCredentialPredicate: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setJwksEndpointURL: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setKerberosTicketMappings: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setNonceEndpointURL: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setNonceResponseKeypath: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setPreviousRefreshTokenClaimName: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setServerNonceClaimName: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::setTokenEndpointURL: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginConfiguration::tokenEndpointURL not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::copyIdentityForKeyType: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::copyKeyForKeyType: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::deviceRegistrationsNeedsRepair not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::isDeviceRegistered not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::isUserRegistered not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::loginConfiguration not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::loginUserName not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::presentRegistrationViewControllerWithCompletion: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::registrationToken not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::resetKeys not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::saveCertificate:keyType: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::saveLoginConfiguration:error: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::setLoginUserName: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::setSsoTokens: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::ssoTokens not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::userNeedsReauthenticationWithCompletion: not bound -!missing-selector! ASAuthorizationProviderExtensionLoginManager::userRegistrationsNeedsRepair not bound -!missing-type! ASAuthorizationProviderExtensionKerberosMapping not bound -!missing-type! ASAuthorizationProviderExtensionLoginConfiguration not bound -!missing-type! ASAuthorizationProviderExtensionLoginManager not bound -!missing-field! ASAuthorizationProviderAuthorizationOperationDirectRequest not bound diff --git a/tests/xtro-sharpie/tvOS-AuthenticationServices.todo b/tests/xtro-sharpie/tvOS-AuthenticationServices.todo index 0aae6ce2ff7a..788f41ae611e 100644 --- a/tests/xtro-sharpie/tvOS-AuthenticationServices.todo +++ b/tests/xtro-sharpie/tvOS-AuthenticationServices.todo @@ -3,26 +3,3 @@ !missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferencePreferred not bound !missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferenceRequired not bound !missing-field! ASWebAuthenticationSessionErrorDomain not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialAssertion not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialAssertionRequest not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialDescriptor not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialRegistration not bound -!missing-protocol! ASAuthorizationPublicKeyCredentialRegistrationRequest not bound -!missing-protocol! ASPublicKeyCredential not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialAssertionRequest::allowedCredentials not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialAssertionRequest::setAllowedCredentials: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialDescriptor::initWithCredentialID: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialProvider::createCredentialAssertionRequestWithChallenge: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialProvider::createCredentialRegistrationRequestWithChallenge:name:userID: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialProvider::initWithRelyingPartyIdentifier: not bound -!missing-selector! ASAuthorizationPlatformPublicKeyCredentialProvider::relyingPartyIdentifier not bound -!missing-selector! ASWebAuthenticationSession::canStart not bound -!missing-selector! ASWebAuthenticationSession::initWithURL:callbackURLScheme:completionHandler: not bound -!missing-selector! ASWebAuthenticationSession::start not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialAssertion not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialAssertionRequest not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialDescriptor not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialProvider not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialRegistration not bound -!missing-type! ASAuthorizationPlatformPublicKeyCredentialRegistrationRequest not bound -!missing-type! ASWebAuthenticationSession not bound From 60bab79c3ecc584f5ba45bc410302be1c89ab9d7 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Tue, 2 Aug 2022 18:53:35 -0400 Subject: [PATCH 2/7] Add missing selectors. --- src/authenticationservices.cs | 4 ++-- .../api-annotations-dotnet/tvOS-AuthenticationServices.todo | 5 ----- tests/xtro-sharpie/tvOS-AuthenticationServices.todo | 5 ----- 3 files changed, 2 insertions(+), 12 deletions(-) delete mode 100644 tests/xtro-sharpie/api-annotations-dotnet/tvOS-AuthenticationServices.todo delete mode 100644 tests/xtro-sharpie/tvOS-AuthenticationServices.todo diff --git a/src/authenticationservices.cs b/src/authenticationservices.cs index 2436c55b28d1..bd26d8273c0b 100644 --- a/src/authenticationservices.cs +++ b/src/authenticationservices.cs @@ -78,7 +78,7 @@ public enum ASCredentialServiceIdentifierType : long { Url, } - [NoTV] + [TV (16,0)] [Watch (6,2)] [Mac (10,15)] [iOS (12,0)] @@ -1059,7 +1059,7 @@ interface ASAuthorizationPublicKeyCredentialAttestationKind NSString Enterprise { get; } } - [iOS (15,0), Mac (12,0), MacCatalyst (15,0), NoWatch, NoTV] + [iOS (15,0), Mac (12,0), MacCatalyst (15,0), NoWatch, TV (16,0)] [Static] interface ASAuthorizationPublicKeyCredentialUserVerificationPreference { diff --git a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AuthenticationServices.todo b/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AuthenticationServices.todo deleted file mode 100644 index 788f41ae611e..000000000000 --- a/tests/xtro-sharpie/api-annotations-dotnet/tvOS-AuthenticationServices.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-enum! ASWebAuthenticationSessionErrorCode not bound -!missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferenceDiscouraged not bound -!missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferencePreferred not bound -!missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferenceRequired not bound -!missing-field! ASWebAuthenticationSessionErrorDomain not bound diff --git a/tests/xtro-sharpie/tvOS-AuthenticationServices.todo b/tests/xtro-sharpie/tvOS-AuthenticationServices.todo deleted file mode 100644 index 788f41ae611e..000000000000 --- a/tests/xtro-sharpie/tvOS-AuthenticationServices.todo +++ /dev/null @@ -1,5 +0,0 @@ -!missing-enum! ASWebAuthenticationSessionErrorCode not bound -!missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferenceDiscouraged not bound -!missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferencePreferred not bound -!missing-field! ASAuthorizationPublicKeyCredentialUserVerificationPreferenceRequired not bound -!missing-field! ASWebAuthenticationSessionErrorDomain not bound From 7c852219b3ced9a6669627ad3a09fab4873b7be9 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Wed, 3 Aug 2022 17:30:47 -0400 Subject: [PATCH 3/7] Update src/authenticationservices.cs Co-authored-by: TJ Lambert <50846373+tj-devel709@users.noreply.github.com> --- src/authenticationservices.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/authenticationservices.cs b/src/authenticationservices.cs index bd26d8273c0b..3d6b2c9543aa 100644 --- a/src/authenticationservices.cs +++ b/src/authenticationservices.cs @@ -1563,7 +1563,7 @@ interface ASAuthorizationProviderExtensionLoginManager [NoWatch, NoTV, NoiOS, NoMacCatalyst, Mac (13,0)] [Protocol] - [BaseType (typeof(NSObject))] + [BaseType (typeof (NSObject))] interface ASAuthorizationProviderExtensionRegistrationHandler { [Async] From 51ee6233b9e51ac3ca2360df312c9081e88c7c1c Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Thu, 4 Aug 2022 17:08:14 -0400 Subject: [PATCH 4/7] Apply suggestions from code review --- src/authenticationservices.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/authenticationservices.cs b/src/authenticationservices.cs index 3d6b2c9543aa..3e77d0a37b7a 100644 --- a/src/authenticationservices.cs +++ b/src/authenticationservices.cs @@ -1523,14 +1523,14 @@ interface ASAuthorizationProviderExtensionLoginManager [Export ("saveLoginConfiguration:error:")] bool Save (ASAuthorizationProviderExtensionLoginConfiguration loginConfiguration, [NullAllowed] out NSError error); - [Internal] + [Protected] [Export ("saveCertificate:keyType:")] void _Save (IntPtr certificate, ASAuthorizationProviderExtensionKeyType keyType); [Wrap ("_Save (certificate.GetHandle (), keyType)")] void Save (SecCertificate certificate, ASAuthorizationProviderExtensionKeyType keyType); - [Internal] + [Protected] [Export ("copyKeyForKeyType:")] [return: NullAllowed] IntPtr _CopyKey (ASAuthorizationProviderExtensionKeyType keyType); From cc747babfa4f24d9ed421779a3cd39aed3cc536d Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Fri, 5 Aug 2022 08:44:47 -0400 Subject: [PATCH 5/7] Fix intro on tv. --- src/authenticationservices.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/authenticationservices.cs b/src/authenticationservices.cs index bd26d8273c0b..4bf7524cebe2 100644 --- a/src/authenticationservices.cs +++ b/src/authenticationservices.cs @@ -302,6 +302,7 @@ interface ASWebAuthenticationSession { [Export ("start")] bool Start (); + [NoTV] [Export ("cancel")] void Cancel (); From ce3573eaac050b57bd2780713c4cb2e86f8e451a Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Mon, 8 Aug 2022 11:35:11 -0400 Subject: [PATCH 6/7] Fix some test issues. --- tests/cecil-tests/AttributeTest.cs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/cecil-tests/AttributeTest.cs b/tests/cecil-tests/AttributeTest.cs index 9f9e3d58bf47..592b9c0b0f35 100644 --- a/tests/cecil-tests/AttributeTest.cs +++ b/tests/cecil-tests/AttributeTest.cs @@ -273,10 +273,18 @@ static bool IgnoreElementsThatDoNotExistInThatAssembly (string member) return true; } // Generator Bug - Protocol inline with different attribute bug - if (member.StartsWith ("SceneKit.SCNLayer") || - member.StartsWith ("AVFoundation.AVAudioSession")) { + switch (member) { + case string s when s.StartsWith ("SceneKit.SCNLayer"): + return true; + case string s when s.StartsWith ("AVFoundation.AVAudioSession"): + return true; + case string s when s.StartsWith ("AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialAssertion"): + return true; + case string s when s.StartsWith ("AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialRegistration"): + return true; + case string s when s.StartsWith ("AuthenticationServices.ASAuthorizationSecurityKeyPublicKeyCredentialDescriptor"): return true; - } + } switch (member) { case "GameplayKit.GKHybridStrategist.get_GameModel": case "GameplayKit.GKHybridStrategist.get_RandomSource": From 52943b57ff8a59273ba66157e8132094196ab1e4 Mon Sep 17 00:00:00 2001 From: Manuel de la Pena Date: Thu, 18 Aug 2022 16:49:55 -0400 Subject: [PATCH 7/7] Apply suggestions from code review Co-authored-by: Rolf Bjarne Kvinge --- src/authenticationservices.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/authenticationservices.cs b/src/authenticationservices.cs index 303b0c1c0048..ed4479924ba2 100644 --- a/src/authenticationservices.cs +++ b/src/authenticationservices.cs @@ -1536,8 +1536,7 @@ interface ASAuthorizationProviderExtensionLoginManager [return: NullAllowed] IntPtr _CopyKey (ASAuthorizationProviderExtensionKeyType keyType); - [return: Release] - [Wrap ("new SecKey (_CopyKey (keyType), false);")] + [Wrap ("new SecKey (_CopyKey (keyType), true);")] SecKey CopyKey (ASAuthorizationProviderExtensionKeyType keyType); [Export ("copyIdentityForKeyType:")]