Browse Source

Add ability to provide initial API key on service standup (#1883)

pull/1898/head
Stuart Small 1 year ago
committed by GitHub
parent
commit
afa00e2a9c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions
  1. +12
    -1
      models/models.go

+ 12
- 1
models/models.go View File

@ -34,6 +34,11 @@ const DefaultAdminUsername = "admin"
// randomly
const InitialAdminPassword = "GOPHISH_INITIAL_ADMIN_PASSWORD"
// InitialAdminApiToken is the environment variable that specifies the
// API token to seed the initial root login instead of generating one
// randomly
const InitialAdminApiToken = "GOPHISH_INITIAL_ADMIN_API_TOKEN"
const (
CampaignInProgress string = "In progress"
CampaignQueued string = "Queued"
@ -208,7 +213,13 @@ func Setup(c *config.Config) error {
RoleID: adminRole.ID,
PasswordChangeRequired: true,
}
adminUser.ApiKey = auth.GenerateSecureKey(auth.APIKeyLength)
if envToken := os.Getenv(InitialAdminApiToken); envToken != "" {
adminUser.ApiKey = envToken
} else {
adminUser.ApiKey = auth.GenerateSecureKey(auth.APIKeyLength)
}
err = db.Save(&adminUser).Error
if err != nil {
log.Error(err)

Loading…
Cancel
Save