<!--
{
  "documentType" : "article",
  "framework" : "OpenDirectory",
  "identifier" : "/documentation/OpenDirectory/authentication-types",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Authentication Types"
}
-->

# Authentication Types

Types of authentication available in Open Directory.

## Topics

### Constants

[`let kODAuthenticationType2WayRandom: String`](/documentation/OpenDirectory/kODAuthenticationType2WayRandom)

The authentication type used to specify two way random authentication.

[`let kODAuthenticationType2WayRandomChangePasswd: String`](/documentation/OpenDirectory/kODAuthenticationType2WayRandomChangePasswd)

The authentication type used to change a user’s password using two way random authentication.

[`let kODAuthenticationTypeAPOP: String`](/documentation/OpenDirectory/kODAuthenticationTypeAPOP)

The authentication type used to specify APOP authentication.

[`let kODAuthenticationTypeCRAM_MD5: String`](/documentation/OpenDirectory/kODAuthenticationTypeCRAM_MD5)

The authentication type used to specify CRAM MD5 authentication.

[`let kODAuthenticationTypeChangePasswd: String`](/documentation/OpenDirectory/kODAuthenticationTypeChangePasswd)

The authentication type used to change a user’s password using CRAM MD5 authentication.

[`let kODAuthenticationTypeClearText: String`](/documentation/OpenDirectory/kODAuthenticationTypeClearText)

The authentication type used to specify cleartext authentication.

[`let kODAuthenticationTypeCrypt: String`](/documentation/OpenDirectory/kODAuthenticationTypeCrypt)

The authentication type used to specify crypt authentication, which uses a crypt password stored in a user’s record if available.

[`let kODAuthenticationTypeDIGEST_MD5: String`](/documentation/OpenDirectory/kODAuthenticationTypeDIGEST_MD5)

The authentication type used to specify digest MD5 authentication.

[`let kODAuthenticationTypeDeleteUser: String`](/documentation/OpenDirectory/kODAuthenticationTypeDeleteUser)

The authentication type used to specify that a user on an Apple password server be deleted.

[`let kODAuthenticationTypeGetEffectivePolicy: String`](/documentation/OpenDirectory/kODAuthenticationTypeGetEffectivePolicy)

The authentication type used to access the policies applied to a user.

[`let kODAuthenticationTypeGetGlobalPolicy: String`](/documentation/OpenDirectory/kODAuthenticationTypeGetGlobalPolicy)

The authentication type used to access the global authentication policy.

[`let kODAuthenticationTypeGetKerberosPrincipal: String`](/documentation/OpenDirectory/kODAuthenticationTypeGetKerberosPrincipal)

The authentication type used to access the name of the Kerberos principal.

[`let kODAuthenticationTypeGetPolicy: String`](/documentation/OpenDirectory/kODAuthenticationTypeGetPolicy)

The authentication type used to specify that the plug-in should determine the authentication method to use.

[`let kODAuthenticationTypeGetUserData: String`](/documentation/OpenDirectory/kODAuthenticationTypeGetUserData)

The authentication type used to access user data on an Apple password server.

[`let kODAuthenticationTypeGetUserName: String`](/documentation/OpenDirectory/kODAuthenticationTypeGetUserName)

The authentication type used to access a username on an Apple password server.

[`let kODAuthenticationTypeKerberosTickets: String`](/documentation/OpenDirectory/kODAuthenticationTypeKerberosTickets)

The authentication type used to provide write access to LDAP with an existing Kerberos ticket.

[`let kODAuthenticationTypeMPPEMasterKeys: String`](/documentation/OpenDirectory/kODAuthenticationTypeMPPEMasterKeys)

The authentication type used to specify primary keys for MPPE encryption.

[`let kODAuthenticationTypeMSCHAP2: String`](/documentation/OpenDirectory/kODAuthenticationTypeMSCHAP2)

The authentication type used to specify MS-CHAPv2 encryption.

[`let kODAuthenticationTypeNTLMv2: String`](/documentation/OpenDirectory/kODAuthenticationTypeNTLMv2)

The authentication type used to verify an NTLMv2 challenge and response.

[`let kODAuthenticationTypeNTLMv2WithSessionKey: String`](/documentation/OpenDirectory/kODAuthenticationTypeNTLMv2WithSessionKey)

The authentication type used to verify an NTLMv2 challenge and response and retrieve session keys in a single call.

[`let kODAuthenticationTypeNewUser: String`](/documentation/OpenDirectory/kODAuthenticationTypeNewUser)

The authentication type used to create a new user on an Apple password server.

[`let kODAuthenticationTypeNewUserWithPolicy: String`](/documentation/OpenDirectory/kODAuthenticationTypeNewUserWithPolicy)

The authentication type used to create a new user with specified policy settings on an Apple password server.

[`let kODAuthenticationTypeNodeNativeClearTextOK: String`](/documentation/OpenDirectory/kODAuthenticationTypeNodeNativeClearTextOK)

The authentication type used to specify that the plug-in should determine the authentication method to use. It also specifies that cleartext is an acceptable authentication method.

[`let kODAuthenticationTypeNodeNativeNoClearText: String`](/documentation/OpenDirectory/kODAuthenticationTypeNodeNativeNoClearText)

The authentication type used to specify that the plug-in should determine the authentication method to use. It also specifies that cleartext is not an acceptable authentication method.

[`let kODAuthenticationTypeReadSecureHash: String`](/documentation/OpenDirectory/kODAuthenticationTypeReadSecureHash)

The authentication type used to access the SHA1 or seeded SHA1 hash for a local user.

[`let kODAuthenticationTypeSMBNTv2UserSessionKey: String`](/documentation/OpenDirectory/kODAuthenticationTypeSMBNTv2UserSessionKey)

The authentication type used to generate an NTLMv2 user session key.

[`let kODAuthenticationTypeSMBWorkstationCredentialSessionKey: String`](/documentation/OpenDirectory/kODAuthenticationTypeSMBWorkstationCredentialSessionKey)

The authentication type used to generate an SMB workstation credential session key.

[`let kODAuthenticationTypeSMB_LM_Key: String`](/documentation/OpenDirectory/kODAuthenticationTypeSMB_LM_Key)

The authentication type used to specify SMB LAN manager authentication.

[`let kODAuthenticationTypeSMB_NT_Key: String`](/documentation/OpenDirectory/kODAuthenticationTypeSMB_NT_Key)

The authentication type used to specify SMB NT authentication.

[`let kODAuthenticationTypeSMB_NT_UserSessionKey: String`](/documentation/OpenDirectory/kODAuthenticationTypeSMB_NT_UserSessionKey)

The authentication type used by Samba to access session keys on an Apple password server.

[`let kODAuthenticationTypeSMB_NT_WithUserSessionKey: String`](/documentation/OpenDirectory/kODAuthenticationTypeSMB_NT_WithUserSessionKey)

The authentication type used by Samba to authenticate and access session keys on an Apple password server.

[`extern ODAuthenticationType const kODAuthenticationTypeSecureHash;`](/documentation/OpenDirectory/kODAuthenticationTypeSecureHash)

The authentication type used to specify secure hash authentication.

[`let kODAuthenticationTypeSetGlobalPolicy: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetGlobalPolicy)

The authentication type used to set the global authentication policy.

[`let kODAuthenticationTypeSetLMHash: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetLMHash)

The authentication type used to set the LAN manager hash for an account.

[`let kODAuthenticationTypeSetNTHash: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetNTHash)

The authentication type used to set the NT hash for a user.

[`let kODAuthenticationTypeSetPassword: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetPassword)

The authentication type used to set a password.

[`let kODAuthenticationTypeSetPasswordAsCurrent: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetPasswordAsCurrent)

The authentication type used to set a password using the current credentials.

[`let kODAuthenticationTypeSetPolicy: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetPolicy)

The authentication type used to specify that the plug-in should determine the authentication method to use.

[`let kODAuthenticationTypeSetPolicyAsCurrent: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetPolicyAsCurrent)

The authentication type used to set the authentication policy using the current credentials.

[`let kODAuthenticationTypeSetUserData: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetUserData)

The authentication type used to set user data on an Apple password server.

[`let kODAuthenticationTypeSetUserName: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetUserName)

The authentication type used to set a username on an Apple password server.

[`let kODAuthenticationTypeSetWorkstationPassword: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetWorkstationPassword)

An authentication type used to support PDC SMB interaction with Directory Services.

[`let kODAuthenticationTypeWithAuthorizationRef: String`](/documentation/OpenDirectory/kODAuthenticationTypeWithAuthorizationRef)

The authentication type used to allow root access to local directories with valid authorization.

[`let kODAuthenticationTypeWriteSecureHash: String`](/documentation/OpenDirectory/kODAuthenticationTypeWriteSecureHash)

The authentication type used to enable a root process to write the secure hash of a user record.

[`let kODAuthenticationTypeSetCertificateHashAsCurrent: String`](/documentation/OpenDirectory/kODAuthenticationTypeSetCertificateHashAsCurrent)

An authentication type to set the certificate using the authenticated user’s credentials.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)