---
title: "beginDeviceRegistration(loginManager:options:completion:)"
framework: authenticationservices
role: symbol
role_heading: Instance Method
path: "authenticationservices/asauthorizationproviderextensionregistrationhandler/begindeviceregistration(loginmanager:options:completion:)"
---

# beginDeviceRegistration(loginManager:options:completion:)

Initiates the device registration process for the single sign-on extension.

## Declaration

```swift
func beginDeviceRegistration(loginManager: ASAuthorizationProviderExtensionLoginManager, options: ASAuthorizationProviderExtensionRequestOptions = [], completion: @escaping @Sendable (ASAuthorizationProviderExtensionRegistrationResult) -> Void)
```

```swift
func beginDeviceRegistration(loginManager: ASAuthorizationProviderExtensionLoginManager, options: ASAuthorizationProviderExtensionRequestOptions = []) async -> ASAuthorizationProviderExtensionRegistrationResult
```

## Parameters

- `loginManager`: The login manager for interfacing with platform SSO.
- `options`: The request options that apply to the request.
- `completion`: The completion to call to continue device registration.

## Mentioned in

Registering devices and users

## Discussion

Discussion The completion handler returns the status as an ASAuthorizationProviderExtensionRegistrationResult.

## See Also

### Registering users and devices

- [beginUserRegistration(loginManager:userName:method:options:completion:)](authenticationservices/asauthorizationproviderextensionregistrationhandler/beginuserregistration(loginmanager:username:method:options:completion:).md)
- [registrationDidComplete()](authenticationservices/asauthorizationproviderextensionregistrationhandler/registrationdidcomplete().md)
