197 строки
5.9 KiB
C#
197 строки
5.9 KiB
C#
//
|
|
// AuthenticationServices bindings
|
|
//
|
|
// Copyright 2018 Microsoft Corporation
|
|
//
|
|
|
|
using System;
|
|
using Foundation;
|
|
using ObjCRuntime;
|
|
using UIKit;
|
|
|
|
namespace AuthenticationServices {
|
|
|
|
[iOS (12,0)]
|
|
[Native]
|
|
[ErrorDomain ("ASCredentialIdentityStoreErrorDomain")]
|
|
public enum ASCredentialIdentityStoreErrorCode : long {
|
|
InternalError = 0,
|
|
StoreDisabled = 1,
|
|
StoreBusy = 2,
|
|
}
|
|
|
|
[iOS (12,0)]
|
|
[Native]
|
|
[ErrorDomain ("ASExtensionErrorDomain")]
|
|
public enum ASExtensionErrorCode : long {
|
|
Failed = 0,
|
|
UserCanceled = 1,
|
|
UserInteractionRequired = 100,
|
|
CredentialIdentityNotFound = 101,
|
|
}
|
|
|
|
[iOS (12,0)]
|
|
[Native]
|
|
public enum ASCredentialServiceIdentifierType : long {
|
|
Domain,
|
|
Url,
|
|
}
|
|
|
|
[iOS (12,0)]
|
|
[Native]
|
|
[ErrorDomain ("ASWebAuthenticationSessionErrorDomain")]
|
|
public enum ASWebAuthenticationSessionErrorCode : long {
|
|
CanceledLogin = 1,
|
|
}
|
|
|
|
delegate void ASCredentialIdentityStoreCompletionHandler (bool success, NSError error);
|
|
|
|
[iOS (12,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface ASCredentialIdentityStore {
|
|
[Static]
|
|
[Export ("sharedStore")]
|
|
ASCredentialIdentityStore SharedStore { get; }
|
|
|
|
[Async]
|
|
[Export ("getCredentialIdentityStoreStateWithCompletion:")]
|
|
void GetCredentialIdentityStoreState (Action<ASCredentialIdentityStoreState> completion);
|
|
|
|
[Async]
|
|
[Export ("saveCredentialIdentities:completion:")]
|
|
void SaveCredentialIdentities (ASPasswordCredentialIdentity[] credentialIdentities, [NullAllowed] ASCredentialIdentityStoreCompletionHandler completion);
|
|
|
|
[Async]
|
|
[Export ("removeCredentialIdentities:completion:")]
|
|
void RemoveCredentialIdentities (ASPasswordCredentialIdentity[] credentialIdentities, [NullAllowed] ASCredentialIdentityStoreCompletionHandler completion);
|
|
|
|
[Async]
|
|
[Export ("removeAllCredentialIdentitiesWithCompletion:")]
|
|
void RemoveAllCredentialIdentities ([NullAllowed] Action<bool, NSError> completion);
|
|
|
|
[Async]
|
|
[Export ("replaceCredentialIdentitiesWithIdentities:completion:")]
|
|
void ReplaceCredentialIdentities (ASPasswordCredentialIdentity[] newCredentialIdentities, [NullAllowed] ASCredentialIdentityStoreCompletionHandler completion);
|
|
}
|
|
|
|
[iOS (12,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface ASCredentialIdentityStoreState {
|
|
[Export ("enabled")]
|
|
bool Enabled { [Bind ("isEnabled")] get; }
|
|
|
|
[Export ("supportsIncrementalUpdates")]
|
|
bool SupportsIncrementalUpdates { get; }
|
|
}
|
|
|
|
delegate void ASCredentialProviderExtensionRequestCompletionHandler (bool expired);
|
|
|
|
[iOS (12,0)]
|
|
[BaseType (typeof (NSExtensionContext))]
|
|
[DisableDefaultCtor]
|
|
interface ASCredentialProviderExtensionContext {
|
|
[Export ("completeRequestWithSelectedCredential:completionHandler:")]
|
|
void CompleteRequest (ASPasswordCredential credential, [NullAllowed] ASCredentialProviderExtensionRequestCompletionHandler completionHandler);
|
|
|
|
[Export ("completeExtensionConfigurationRequest")]
|
|
void CompleteExtensionConfigurationRequest ();
|
|
|
|
[Export ("cancelRequestWithError:")]
|
|
void CancelRequest (NSError error);
|
|
}
|
|
|
|
[iOS (12,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface ASCredentialServiceIdentifier : NSCopying, NSSecureCoding {
|
|
[Export ("initWithIdentifier:type:")]
|
|
IntPtr Constructor (string identifier, ASCredentialServiceIdentifierType type);
|
|
|
|
[Export ("identifier")]
|
|
string Identifier { get; }
|
|
|
|
[Export ("type")]
|
|
ASCredentialServiceIdentifierType Type { get; }
|
|
}
|
|
|
|
[iOS (12,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface ASPasswordCredentialIdentity : NSCopying, NSSecureCoding {
|
|
[Export ("initWithServiceIdentifier:user:recordIdentifier:")]
|
|
[DesignatedInitializer]
|
|
IntPtr Constructor (ASCredentialServiceIdentifier serviceIdentifier, string user, [NullAllowed] string recordIdentifier);
|
|
|
|
[Static]
|
|
[Export ("identityWithServiceIdentifier:user:recordIdentifier:")]
|
|
ASPasswordCredentialIdentity Create (ASCredentialServiceIdentifier serviceIdentifier, string user, [NullAllowed] string recordIdentifier);
|
|
|
|
[Export ("serviceIdentifier", ArgumentSemantic.Strong)]
|
|
ASCredentialServiceIdentifier ServiceIdentifier { get; }
|
|
|
|
[Export ("user")]
|
|
string User { get; }
|
|
|
|
[NullAllowed, Export ("recordIdentifier")]
|
|
string RecordIdentifier { get; }
|
|
|
|
[Export ("rank")]
|
|
nint Rank { get; set; }
|
|
}
|
|
|
|
[iOS (12,0)]
|
|
[BaseType (typeof (UIViewController))]
|
|
interface ASCredentialProviderViewController {
|
|
[Export ("extensionContext", ArgumentSemantic.Strong)]
|
|
ASCredentialProviderExtensionContext ExtensionContext { get; }
|
|
|
|
[Export ("prepareCredentialListForServiceIdentifiers:")]
|
|
void PrepareCredentialList (ASCredentialServiceIdentifier[] serviceIdentifiers);
|
|
|
|
[Export ("provideCredentialWithoutUserInteractionForIdentity:")]
|
|
void ProvideCredentialWithoutUserInteraction (ASPasswordCredentialIdentity credentialIdentity);
|
|
|
|
[Export ("prepareInterfaceToProvideCredentialForIdentity:")]
|
|
void PrepareInterfaceToProvideCredential (ASPasswordCredentialIdentity credentialIdentity);
|
|
|
|
[Export ("prepareInterfaceForExtensionConfiguration")]
|
|
void PrepareInterfaceForExtensionConfiguration ();
|
|
}
|
|
|
|
[iOS (12,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface ASPasswordCredential : NSCopying, NSSecureCoding {
|
|
[Export ("initWithUser:password:")]
|
|
IntPtr Constructor (string user, string password);
|
|
|
|
[Static]
|
|
[Export ("credentialWithUser:password:")]
|
|
ASPasswordCredential Create (string user, string password);
|
|
|
|
[Export ("user")]
|
|
string User { get; }
|
|
|
|
[Export ("password")]
|
|
string Password { get; }
|
|
}
|
|
|
|
delegate void ASWebAuthenticationSessionCompletionHandler ([NullAllowed] NSUrl callbackUrl, [NullAllowed] NSError error);
|
|
|
|
[iOS (12,0)]
|
|
[BaseType (typeof (NSObject))]
|
|
[DisableDefaultCtor]
|
|
interface ASWebAuthenticationSession {
|
|
[Export ("initWithURL:callbackURLScheme:completionHandler:")]
|
|
IntPtr Constructor (NSUrl url, [NullAllowed] string callbackUrlScheme, ASWebAuthenticationSessionCompletionHandler completionHandler);
|
|
|
|
[Export ("start")]
|
|
bool Start ();
|
|
|
|
[Export ("cancel")]
|
|
void Cancel ();
|
|
}
|
|
}
|