---
title: "beginUserRegistration(loginManager:userName:method:options:completion:)"
framework: authenticationservices
role: symbol
role_heading: Instance Method
path: "authenticationservices/asauthorizationproviderextensionregistrationhandler/beginuserregistration(loginmanager:username:method:options:completion:)"
---

# beginUserRegistration(loginManager:userName:method:options:completion:)

Initiates the user registration process for the user and the single sign-on extension.

## Declaration

```swift
func beginUserRegistration(loginManager: ASAuthorizationProviderExtensionLoginManager, userName: String?, method authenticationMethod: ASAuthorizationProviderExtensionAuthenticationMethod, options: ASAuthorizationProviderExtensionRequestOptions = [], completion: @escaping @Sendable (ASAuthorizationProviderExtensionRegistrationResult) -> Void)
```

```swift
func beginUserRegistration(loginManager: ASAuthorizationProviderExtensionLoginManager, userName: String?, method authenticationMethod: ASAuthorizationProviderExtensionAuthenticationMethod, options: ASAuthorizationProviderExtensionRequestOptions = []) async -> ASAuthorizationProviderExtensionRegistrationResult
```

## Parameters

- `loginManager`: The login manager for interfacing with platform SSO.
- `userName`: The user name for the user registration.
- `authenticationMethod`: The authentication method to use for the user.
- `options`: The request options that apply to the request.
- `completion`: The completion to call to continue user registration.

## Mentioned in

Registering devices and users

## Discussion

Discussion The completion handler returns the status as an ASAuthorizationProviderExtensionRegistrationResult.

## See Also

### Registering users and devices

- [beginDeviceRegistration(loginManager:options:completion:)](authenticationservices/asauthorizationproviderextensionregistrationhandler/begindeviceregistration(loginmanager:options:completion:).md)
- [registrationDidComplete()](authenticationservices/asauthorizationproviderextensionregistrationhandler/registrationdidcomplete().md)
