---
title: "ODRecordSetNodeCredentialsExtended(_:_:_:_:_:_:_:)"
framework: opendirectory
role: symbol
role_heading: Function
path: "opendirectory/odrecordsetnodecredentialsextended(_:_:_:_:_:_:_:)"
---

# ODRecordSetNodeCredentialsExtended(_:_:_:_:_:_:_:)

Sets node authentication credentials for a record using a specified authentication method.

## Declaration

```swift
func ODRecordSetNodeCredentialsExtended(_ record: ODRecordRef!, _ recordType: String!, _ authType: String!, _ authItems: CFArray!, _ outAuthItems: UnsafeMutablePointer<Unmanaged<CFArray>?>!, _ outContext: UnsafeMutablePointer<Unmanaged<ODContextRef>?>!, _ error: UnsafeMutablePointer<Unmanaged<CFError>?>!) -> Bool
```

## Parameters

- `record`: The record.
- `recordType`: The record type that uses the credentials. Can be NULL. The default value is kODRecordTypeUsers.
- `authType`: The type of authentication to use.
- `authItems`: An array of CFString or CFData objects to be used in the authentication process.
- `outAuthItems`: An array of CFData objects returned from the authentication process, if any are returned; NULL otherwise.
- `outContext`: The proper context if the authentication attempt requires a context; NULL otherwise. If not NULL, then more calls must be made with the Context to continue the authentication.
- `error`: An error reference for error details. Can be NULL.

## Return Value

Return Value true if no error occurs; otherwise, false.

## Discussion

Discussion If you want to set credentials for all references to a node, use ODNodeSetCredentialsExtended(_:_:_:_:_:_:_:) instead.

## See Also

### Related Documentation

- [Record Types](opendirectory/record-types.md)
- [Authentication Types](opendirectory/authentication-types.md)

### Working with Records

- [ODRecordAddMember(_:_:_:)](opendirectory/odrecordaddmember(_:_:_:).md)
- [ODRecordAddValue(_:_:_:_:)](opendirectory/odrecordaddvalue(_:_:_:_:).md)
- [ODRecordChangePassword(_:_:_:_:)](opendirectory/odrecordchangepassword(_:_:_:_:).md)
- [ODRecordContainsMember(_:_:_:)](opendirectory/odrecordcontainsmember(_:_:_:).md)
- [ODRecordCopyDetails(_:_:_:)](opendirectory/odrecordcopydetails(_:_:_:).md)
- [ODRecordCopyValues(_:_:_:)](opendirectory/odrecordcopyvalues(_:_:_:).md)
- [ODRecordDelete(_:_:)](opendirectory/odrecorddelete(_:_:).md)
- [ODRecordGetRecordName(_:)](opendirectory/odrecordgetrecordname(_:).md)
- [ODRecordGetRecordType(_:)](opendirectory/odrecordgetrecordtype(_:).md)
- [ODRecordGetTypeID()](opendirectory/odrecordgettypeid().md)
- [ODRecordRemoveMember(_:_:_:)](opendirectory/odrecordremovemember(_:_:_:).md)
- [ODRecordRemoveValue(_:_:_:_:)](opendirectory/odrecordremovevalue(_:_:_:_:).md)
- [ODRecordSetNodeCredentials(_:_:_:_:)](opendirectory/odrecordsetnodecredentials(_:_:_:_:).md)
- [ODRecordSetValue(_:_:_:_:)](opendirectory/odrecordsetvalue(_:_:_:_:).md)
- [ODRecordSynchronize(_:_:)](opendirectory/odrecordsynchronize(_:_:).md)
