<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AuthenticationServices",
  "identifier" : "/documentation/AuthenticationServices/ASAccountAuthenticationModificationUpgradePasswordToStrongPasswordRequest/init(user:serviceIdentifier:userInfo:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Authentication Services"
    ],
    "preciseIdentifier" : "c:objc(cs)ASAccountAuthenticationModificationUpgradePasswordToStrongPasswordRequest(im)initWithUser:serviceIdentifier:userInfo:"
  },
  "title" : "init(user:serviceIdentifier:userInfo:)"
}
-->

# init(user:serviceIdentifier:userInfo:)

Creates a request to upgrade from using a weak password to using a strong system-generated password.

```
init(user: String, serviceIdentifier: ASCredentialServiceIdentifier, userInfo: [AnyHashable : Any]? = nil)
```

## Parameters

`user`

The user name of the account to upgrade.

`serviceIdentifier`

An identifier that represents a particular service that the user needs a credential for, like a web site.

`userInfo`

A dictionary that contains values to pass to your account modification extension.

## Return Value

An initialized request object with details about the account to upgrade from using a weak password to a strong system-generated password.

## Discussion

If your extension needs information to authenticate with your server, such as an authentication token, set it in the `userInfo` dictionary before calling this method.

---

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)