diff --git a/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdAuthentication.java b/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdAuthentication.java
index 89179c46..c6d08886 100644
--- a/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdAuthentication.java
+++ b/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdAuthentication.java
@@ -37,9 +37,11 @@ import org.springframework.web.client.RestOperations;
* @see RestOperations
* @see Auth Backend: App
* ID
+ * @deprecated since 2.2. Use {@link AppRoleAuthentication}.
*/
-public class AppIdAuthentication implements ClientAuthentication,
- AuthenticationStepsFactory {
+@Deprecated
+public class AppIdAuthentication
+ implements ClientAuthentication, AuthenticationStepsFactory {
private static final Log logger = LogFactory.getLog(AppIdAuthentication.class);
@@ -77,9 +79,9 @@ public class AppIdAuthentication implements ClientAuthentication,
Assert.notNull(options, "AppIdAuthenticationOptions must not be null");
- return AuthenticationSteps.fromSupplier(
- () -> getAppIdLogin(options.getAppId(), options.getUserIdMechanism()
- .createUserId())) //
+ return AuthenticationSteps
+ .fromSupplier(() -> getAppIdLogin(options.getAppId(),
+ options.getUserIdMechanism().createUserId())) //
.login("auth/{mount}/login", options.getPath());
}
@@ -95,8 +97,8 @@ public class AppIdAuthentication implements ClientAuthentication,
private VaultToken createTokenUsingAppId() {
- Map login = getAppIdLogin(options.getAppId(), options
- .getUserIdMechanism().createUserId());
+ Map login = getAppIdLogin(options.getAppId(),
+ options.getUserIdMechanism().createUserId());
try {
VaultResponse response = restOperations.postForObject("auth/{mount}/login",
diff --git a/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdAuthenticationOptions.java b/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdAuthenticationOptions.java
index 4532077e..8e6c6cfc 100644
--- a/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdAuthenticationOptions.java
+++ b/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdAuthenticationOptions.java
@@ -28,7 +28,9 @@ import org.springframework.util.Assert;
* @see AppIdAuthentication
* @see AppIdUserIdMechanism
* @see #builder()
+ * @deprecated since 2.2. Use {@link AppRoleAuthentication}.
*/
+@Deprecated
public class AppIdAuthenticationOptions {
public static final String DEFAULT_APPID_AUTHENTICATION_PATH = "app-id";
diff --git a/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdUserIdMechanism.java b/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdUserIdMechanism.java
index e72db9d1..0d427214 100644
--- a/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdUserIdMechanism.java
+++ b/spring-vault-core/src/main/java/org/springframework/vault/authentication/AppIdUserIdMechanism.java
@@ -22,7 +22,9 @@ package org.springframework.vault.authentication;
*
* @author Mark Paluch
* @see AppIdAuthentication
+ * @deprecated since 2.2. Use {@link AppRoleAuthentication}.
*/
+@Deprecated
@FunctionalInterface
public interface AppIdUserIdMechanism {
diff --git a/src/main/asciidoc/new-features.adoc b/src/main/asciidoc/new-features.adoc
index a00c2169..95da39f3 100644
--- a/src/main/asciidoc/new-features.adoc
+++ b/src/main/asciidoc/new-features.adoc
@@ -3,10 +3,12 @@
[[new-features.2-2-0]]
=== What's new in Spring Vault 2.2
+
* Support for Key-Value v2 (versioned backend) secrets through `@VaultPropertySource`.
* SpEL support in `@Secret`.
* Add support for Jetty as reactive HttpClient.
* `LifecycleAwareSessionManager` and `ReactiveLifecycleAwareSessionManager` emit now ``AuthenticationEvent``s.
+* Deprecation of `AppIdAuthentication`. Use `AppRoleAuthentication` instead as recommended by HashiCorp Vault.
[[new-features.2-1-0]]
=== What's new in Spring Vault 2.1
diff --git a/src/main/asciidoc/reference/authentication.adoc b/src/main/asciidoc/reference/authentication.adoc
index e9fb3c9f..abaac6d9 100644
--- a/src/main/asciidoc/reference/authentication.adoc
+++ b/src/main/asciidoc/reference/authentication.adoc
@@ -83,6 +83,8 @@ See also:
[[vault.authentication.appid]]
== AppId authentication
+NOTE: AppId authentication is deprecated by Vault. Use <> instead.
+
Vault supports https://www.vaultproject.io/docs/auth/app-id.html[AppId]
authentication that consists of two hard to guess tokens. The AppId
defaults to `spring.application.name` that is statically configured.