mirror of
https://github.com/grafana/grafana.git
synced 2024-11-25 18:30:41 -06:00
6abe99efd6
* initial passwordless client * passwordless login page * Working basic e2e flow * Add todo comments * Improve the passwordless login flow * improved passwordless login, backend for passwordless signup * add expiration to emails * update email templates & render username & name fields on signup * improve email templates * change login page text while awaiting passwordless code * fix merge conflicts * use claims.TypeUser * add initial passwordless tests * better error messages * simplified error name * remove completed TODOs * linting & minor test improvements & rename passwordless routes * more linting fixes * move code generation to its own func, use locationService to get query params * fix ampersand in email templates & use passwordless api routes in LoginCtrl * txt emails more closely match html email copy * move passwordless auth behind experimental feature toggle * fix PasswordlessLogin property failing typecheck * make update-workspace * user correct placeholder * Update emails/templates/passwordless_verify_existing_user.txt Co-authored-by: Dan Cech <dcech@grafana.com> * Update emails/templates/passwordless_verify_existing_user.mjml Co-authored-by: Dan Cech <dcech@grafana.com> * Update emails/templates/passwordless_verify_new_user.txt Co-authored-by: Dan Cech <dcech@grafana.com> * Update emails/templates/passwordless_verify_new_user.txt Co-authored-by: Dan Cech <dcech@grafana.com> * Update emails/templates/passwordless_verify_new_user.mjml Co-authored-by: Dan Cech <dcech@grafana.com> * use & in email templates * Update emails/templates/passwordless_verify_existing_user.txt Co-authored-by: Dan Cech <dcech@grafana.com> * remove IP address validation * struct for passwordless settings * revert go.work.sum changes * mock locationService.getSearch in failing test --------- Co-authored-by: Mihaly Gyongyosi <mgyongyosi@users.noreply.github.com> Co-authored-by: Dan Cech <dcech@grafana.com>
18 lines
638 B
Go
18 lines
638 B
Go
package setting
|
|
|
|
import "time"
|
|
|
|
type AuthPasswordlessMagicLinkSettings struct {
|
|
// Passwordless Auth via Magic Link
|
|
Enabled bool
|
|
CodeExpiration time.Duration
|
|
}
|
|
|
|
func (cfg *Cfg) readPasswordlessMagicLinkSettings() {
|
|
authPasswordless := cfg.SectionWithEnvOverrides("auth.passwordless")
|
|
PasswordlessMagicLinkSettings := AuthPasswordlessMagicLinkSettings{}
|
|
PasswordlessMagicLinkSettings.Enabled = authPasswordless.Key("enabled").MustBool(false)
|
|
PasswordlessMagicLinkSettings.CodeExpiration = authPasswordless.Key("code_expiration").MustDuration(time.Minute * 20)
|
|
cfg.PasswordlessMagicLinkAuth = PasswordlessMagicLinkSettings
|
|
}
|