<PackageReference Include="Microsoft.Identity.Client.Extensions.Msal" Version="4.83.3" />

Microsoft.Identity.Extensions.Mac.SecurityFramework

static class SecurityFramework
public const int CallerSecuritySession = -1

public const int ErrorSecAuthFailed = -25293

public const int ErrorSecDuplicateItem = -25299

public const int ErrorSecInteractionNotAllowed = -25308

public const int ErrorSecInteractionRequired = -25315

public const int ErrorSecInvalidKeychain = -25295

public const int ErrorSecItemNotFound = -25300

public const int ErrorSecNoSuchAttr = -25303

public const int ErrorSecNoSuchKeychain = -25294

public const int ErrSecUserCanceled = -128

public static readonly IntPtr Handle

public static readonly IntPtr kSecAttrAccount

public static readonly IntPtr kSecAttrLabel

public static readonly IntPtr kSecAttrService

public static readonly IntPtr kSecClass

public static readonly IntPtr kSecClassGenericPassword

public static readonly IntPtr kSecMatchItemList

public static readonly IntPtr kSecMatchLimit

public static readonly IntPtr kSecMatchLimitOne

public static readonly IntPtr kSecReturnAttributes

public static readonly IntPtr kSecReturnData

public static readonly IntPtr kSecReturnPersistentRef

public static readonly IntPtr kSecReturnRef

public static readonly IntPtr kSecValueData

public static readonly IntPtr kSecValueRef

public const int OK = 0

public static int SecAccessCreate(IntPtr descriptor, IntPtr trustedList, out IntPtr accessRef)

public static int SecItemCopyMatching(IntPtr query, out IntPtr result)

public static int SecKeychainAddGenericPassword(IntPtr keychain, uint serviceNameLength, string serviceName, uint accountNameLength, string accountName, uint passwordLength, byte[] passwordData, out IntPtr itemRef)

public static int SecKeychainFindGenericPassword(IntPtr keychainOrArray, uint serviceNameLength, string serviceName, uint accountNameLength, string accountName, out uint passwordLength, out IntPtr passwordData, out IntPtr itemRef)

public static int SecKeychainItemCopyContent(IntPtr itemRef, IntPtr itemClass, IntPtr attrList, out uint length, out IntPtr outData)

public static int SecKeychainItemCopyFromPersistentReference(IntPtr persistentItemRef, out IntPtr itemRef)

public static int SecKeychainItemCreateFromContent(IntPtr itemClass, IntPtr attrList, uint length, IntPtr data, IntPtr keychainRef, IntPtr initialAccess, out IntPtr itemRef)

public static int SecKeychainItemDelete(IntPtr itemRef)

public static int SecKeychainItemFreeAttributesAndData(IntPtr attrList, IntPtr data)

public static int SecKeychainItemFreeContent(IntPtr attrList, IntPtr data)

public static int SecKeychainItemModifyAttributesAndData(IntPtr itemRef, IntPtr attrList, uint length, byte[] data)

public static int SessionGetInfo(int session, out int sessionId, out SessionAttributeBits attributes)

public static void ThrowIfError(int error, string defaultErrorMessage = "Unknown error.")