---
title: ASAccountAuthenticationModificationViewController
framework: authenticationservices
role: symbol
role_heading: Class
path: authenticationservices/asaccountauthenticationmodificationviewcontroller
---

# ASAccountAuthenticationModificationViewController

A view controller that can upgrade user passwords to strong passwords, or convert accounts to use Sign in with Apple.

## Declaration

```swift
class ASAccountAuthenticationModificationViewController
```

## Mentioned in

Upgrading Account Security With an Account Authentication Modification Extension

## Overview

Overview Adding an account modification extension lets your app seamlessly upgrade user passwords to strong passwords, or convert from using passwords to using Sign in with Apple. The entire process can be automatic, requiring no user interaction, or you can include interactions, such as two-factor authentication confirmation. note: This class ignores calls from Mac apps built with Mac Catalyst.

## Topics

### Upgrading to Sign in with Apple

- [convertAccountToSignInWithAppleWithoutUserInteraction(for:existingCredential:userInfo:)](authenticationservices/asaccountauthenticationmodificationviewcontroller/convertaccounttosigninwithapplewithoutuserinteraction(for:existingcredential:userinfo:).md)
- [prepareInterfaceToConvertAccountToSignInWithApple(for:existingCredential:userInfo:)](authenticationservices/asaccountauthenticationmodificationviewcontroller/prepareinterfacetoconvertaccounttosigninwithapple(for:existingcredential:userinfo:).md)
- [ASAccountAuthenticationModificationSupportsUpgradeToSignInWithApple](bundleresources/information-property-list/nsextension/asaccountauthenticationmodificationsupportsupgradetosigninwithapple.md)

### Upgrading to Strong Passwords

- [changePasswordWithoutUserInteraction(for:existingCredential:newPassword:userInfo:)](authenticationservices/asaccountauthenticationmodificationviewcontroller/changepasswordwithoutuserinteraction(for:existingcredential:newpassword:userinfo:).md)
- [prepareInterfaceToChangePassword(for:existingCredential:newPassword:userInfo:)](authenticationservices/asaccountauthenticationmodificationviewcontroller/prepareinterfacetochangepassword(for:existingcredential:newpassword:userinfo:).md)
- [ASAccountAuthenticationModificationSupportsStrongPasswordChange](bundleresources/information-property-list/nsextension/asaccountauthenticationmodificationsupportsstrongpasswordchange.md)
- [ASAccountAuthenticationModificationPasswordGenerationRequirements](bundleresources/information-property-list/nsextension/asaccountauthenticationmodificationpasswordgenerationrequirements.md)
- [ASAccountAuthenticationModificationOptOutOfSecurityPromptsOnSignIn](bundleresources/information-property-list/asaccountauthenticationmodificationoptoutofsecuritypromptsonsignin.md)

### Handling Modification Requests

- [cancelRequest()](authenticationservices/asaccountauthenticationmodificationviewcontroller/cancelrequest().md)
- [ASAccountAuthenticationModificationControllerDelegate](authenticationservices/asaccountauthenticationmodificationcontrollerdelegate.md)
- [ASAccountAuthenticationModificationControllerPresentationContextProviding](authenticationservices/asaccountauthenticationmodificationcontrollerpresentationcontextproviding.md)

### Getting the Extension Context

- [extensionContext](authenticationservices/asaccountauthenticationmodificationviewcontroller/extensioncontext.md)

## Relationships

### Inherits From

- [UIViewController](uikit/uiviewcontroller.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSExtensionRequestHandling](foundation/nsextensionrequesthandling.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSTouchBarProvider](appkit/nstouchbarprovider.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [UIActivityItemsConfigurationProviding](uikit/uiactivityitemsconfigurationproviding.md)
- [UIAppearanceContainer](uikit/uiappearancecontainer.md)
- [UIContentContainer](uikit/uicontentcontainer.md)
- [UIFocusEnvironment](uikit/uifocusenvironment.md)
- [UIPasteConfigurationSupporting](uikit/uipasteconfigurationsupporting.md)
- [UIResponderStandardEditActions](uikit/uiresponderstandardeditactions.md)
- [UIStateRestoring](uikit/uistaterestoring.md)
- [UITraitChangeObservable](uikit/uitraitchangeobservable-67e94.md)
- [UITraitEnvironment](uikit/uitraitenvironment.md)
- [UIUserActivityRestoring](uikit/uiuseractivityrestoring.md)

## See Also

### Automatic security upgrades

- [Upgrading Account Security With an Account Authentication Modification Extension](authenticationservices/upgrading-account-security-with-an-account-authentication-modification-extension.md)
- [ASAccountAuthenticationModificationController](authenticationservices/asaccountauthenticationmodificationcontroller.md)
- [ASAccountAuthenticationModificationExtensionContext](authenticationservices/asaccountauthenticationmodificationextensioncontext.md)
