## Custom attributes
Amplify Flutter supports [standard OIDC user attributes](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) as well as custom attributes. Custom attributes can be instantiated via the custom attribute constructor:

```dart
Future<void> _signUp({
    required String username,
    required String password,
    required String email,
    required String customValue,
}) async  {
  final userAttributes = {
    AuthUserAttributeKey.email: email,
    // Create and pass a custom attribute
    const CognitoUserAttributeKey.custom('my-custom-attribute'): customValue
  };
  await Amplify.Auth.signUp(
    username: username,
    password: password,
    options: SignUpOptions(
      userAttributes: userAttributes,
    ),
  );
}
```

When working with a Cognito UserPool, you can set up [custom attributes](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-custom-attributes) via the Cognito console or AWS CLI. Although Cognito prepends a "custom:" prefix on the attribute name, there is no need for you to add this in Amplify Flutter's custom attribute constructor.