mirror of
https://github.com/Infisical/infisical.git
synced 2026-05-02 03:02:03 -04:00
43 lines
1004 B
Go
43 lines
1004 B
Go
package util
|
|
|
|
type AuthStrategyType string
|
|
|
|
var AuthStrategy = struct {
|
|
UNIVERSAL_AUTH AuthStrategyType
|
|
KUBERNETES_AUTH AuthStrategyType
|
|
AZURE_AUTH AuthStrategyType
|
|
GCP_ID_TOKEN_AUTH AuthStrategyType
|
|
GCP_IAM_AUTH AuthStrategyType
|
|
AWS_IAM_AUTH AuthStrategyType
|
|
}{
|
|
UNIVERSAL_AUTH: "universal-auth",
|
|
KUBERNETES_AUTH: "kubernetes",
|
|
AZURE_AUTH: "azure",
|
|
GCP_ID_TOKEN_AUTH: "gcp-id-token",
|
|
GCP_IAM_AUTH: "gcp-iam",
|
|
AWS_IAM_AUTH: "aws-iam",
|
|
}
|
|
|
|
var AVAILABLE_AUTH_STRATEGIES = []AuthStrategyType{
|
|
AuthStrategy.UNIVERSAL_AUTH,
|
|
AuthStrategy.KUBERNETES_AUTH,
|
|
AuthStrategy.AZURE_AUTH,
|
|
AuthStrategy.GCP_ID_TOKEN_AUTH,
|
|
AuthStrategy.GCP_IAM_AUTH,
|
|
AuthStrategy.AWS_IAM_AUTH,
|
|
}
|
|
|
|
func IsAuthMethodValid(authMethod string) (isValid bool, strategy AuthStrategyType) {
|
|
|
|
if authMethod == "user" {
|
|
return true, ""
|
|
}
|
|
|
|
for _, strategy := range AVAILABLE_AUTH_STRATEGIES {
|
|
if string(strategy) == authMethod {
|
|
return true, strategy
|
|
}
|
|
}
|
|
return false, ""
|
|
}
|