# AppUriAuthenticationPolicy.Builder

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/security/AppUriAuthenticationPolicy.Builder "View this page in Java")  

```
class Builder
```

|---|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                             ||
| ↳ | [android.security.AppUriAuthenticationPolicy.Builder](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy.Builder#) |

Builder class for[AppUriAuthenticationPolicy](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy)objects.

## Summary

|                                                                                                                                       Public constructors                                                                                                                                        ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy.Builder#Builder())`()` Initialize a new Builder to construct an[AppUriAuthenticationPolicy](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy). |

|                                                                                                                                                                                                                                                                                                                                                        Public methods                                                                                                                                                                                                                                                                                                                                                        ||
|-------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AppUriAuthenticationPolicy.Builder](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy.Builder#) | [addAppAndUriMapping](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy.Builder#addAppAndUriMapping(kotlin.String,%20android.net.Uri,%20kotlin.String))`(`appPackageName:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, `uri:` `[Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#)`, `alias:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`)` Adds mappings from an app and URI to an alias, which will be used for authentication. |
| [AppUriAuthenticationPolicy](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy)                  | [build](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy.Builder#build())`()` Combines all of the attributes that have been set on the[Builder](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy.Builder#)                                                                                                                                                                                                                                                                                    |

## Public constructors

### Builder

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
Builder()
```

Initialize a new Builder to construct an[AppUriAuthenticationPolicy](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy).

## Public methods

### addAppAndUriMapping

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun addAppAndUriMapping(
    appPackageName: String, 
    uri: Uri, 
    alias: String
): AppUriAuthenticationPolicy.Builder
```

Adds mappings from an app and URI to an alias, which will be used for authentication.

If this method is called with a package name and URI that was previously added, the previous alias will be overwritten.

When the system tries to determine which alias to return to a requesting app calling`KeyChain.choosePrivateKeyAlias`, it will choose the alias whose associated URI exactly matches the URI provided in[KeyChain.choosePrivateKeyAlias(](https://developer.android.com/reference/kotlin/android/security/KeyChain#choosePrivateKeyAlias(android.app.Activity,%20android.security.KeyChainAliasCallback,%20kotlin.Array,%20kotlin.Array,%20android.net.Uri,%20kotlin.String))or the URI built from the host and port provided in[KeyChain.choosePrivateKeyAlias(](https://developer.android.com/reference/kotlin/android/security/KeyChain#choosePrivateKeyAlias(android.app.Activity,%20android.security.KeyChainAliasCallback,%20kotlin.Array,%20kotlin.Array,%20kotlin.String,%20kotlin.Int,%20kotlin.String)).

|                                                                                     Parameters                                                                                     ||
|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `appPackageName` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):The app's package name to authenticate the user to. This value cannot be`null`. |
| `uri`            | [Uri](https://developer.android.com/reference/kotlin/android/net/Uri.html#):The URI to authenticate the user to. This value cannot be`null`.                     |
| `alias`          | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html):The alias which will be used for authentication. This value cannot be`null`.    |

|                                                                                              Return                                                                                               ||
|-------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|
| [AppUriAuthenticationPolicy.Builder](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy.Builder#) | the same Builder instance. This value cannot be`null`. |

### build

Added in[API level 31](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
fun build(): AppUriAuthenticationPolicy
```

Combines all of the attributes that have been set on the[Builder](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy.Builder#)

|                                                                                                                                           Return                                                                                                                                           ||
|--------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [AppUriAuthenticationPolicy](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy) | a new[AppUriAuthenticationPolicy](https://developer.android.com/reference/kotlin/android/security/AppUriAuthenticationPolicy)object. This value cannot be`null`. |