-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathAuthClient.java
More file actions
62 lines (49 loc) · 2.33 KB
/
AuthClient.java
File metadata and controls
62 lines (49 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.infisical.sdk.resources;
import com.infisical.sdk.api.ApiClient;
import com.infisical.sdk.auth.AwsAuthProvider;
import com.infisical.sdk.models.AwsAuthLoginInput;
import com.infisical.sdk.models.LdapAuthLoginInput;
import com.infisical.sdk.models.MachineIdentityCredential;
import com.infisical.sdk.models.UniversalAuthLoginInput;
import com.infisical.sdk.util.InfisicalException;
import java.util.function.Consumer;
public class AuthClient {
private final ApiClient apiClient;
private final Consumer<String> onAuthenticate;
public AuthClient(ApiClient apiClient, Consumer<String> onAuthenticate) {
this.apiClient = apiClient;
this.onAuthenticate = onAuthenticate;
}
public void UniversalAuthLogin(String clientId, String clientSecret) throws InfisicalException {
var params =
UniversalAuthLoginInput.builder().clientId(clientId).clientSecret(clientSecret).build();
var url =
String.format("%s%s", this.apiClient.GetBaseUrl(), "/api/v1/auth/universal-auth/login");
var credential = this.apiClient.post(url, params, MachineIdentityCredential.class);
this.onAuthenticate.accept(credential.getAccessToken());
}
public void LdapAuthLogin(LdapAuthLoginInput input) throws InfisicalException {
var validationMsg = input.validate();
if (validationMsg != null) {
throw new InfisicalException(validationMsg);
}
var url = String.format("%s%s", this.apiClient.GetBaseUrl(), "/api/v1/auth/ldap-auth/login");
var credential = this.apiClient.post(url, input, MachineIdentityCredential.class);
this.onAuthenticate.accept(credential.getAccessToken());
}
public void AwsAuthLogin(String identityId) throws InfisicalException {
AwsAuthLogin(AwsAuthProvider.defaultProvider().fromInstanceProfile().toLoginInput(identityId));
}
public void AwsAuthLogin(AwsAuthLoginInput input) throws InfisicalException {
var validationMsg = input.validate();
if (validationMsg != null) {
throw new InfisicalException(validationMsg);
}
var url = String.format("%s%s", this.apiClient.GetBaseUrl(), "/api/v1/auth/aws-auth/login");
var credential = this.apiClient.post(url, input, MachineIdentityCredential.class);
this.onAuthenticate.accept(credential.getAccessToken());
}
public void SetAccessToken(String accessToken) {
this.onAuthenticate.accept(accessToken);
}
}