Filter inactive auth sources (#27870)

Fix nil access for inactive auth sources.

> Render failed, failed to render template:
user/settings/security/security, error: template error:
builtin(static):user/settings/security/accountlinks:32:20 : executing
"user/settings/security/accountlinks" at <$providerData.IconHTML>: nil
pointer evaluating oauth2.Provider.IconHTML

Code tries to access the auth source of an `ExternalLoginUser` but the
list contains only the active auth sources.
This commit is contained in:
KN4CK3R 2023-11-02 00:46:26 +01:00 committed by GitHub
parent 9b6e77c489
commit e378545f30
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -82,7 +82,7 @@ func loadSecurityData(ctx *context.Context) {
// map the provider display name with the AuthSource // map the provider display name with the AuthSource
sources := make(map[*auth_model.Source]string) sources := make(map[*auth_model.Source]string)
for _, externalAccount := range accountLinks { for _, externalAccount := range accountLinks {
if authSource, err := auth_model.GetSourceByID(ctx, externalAccount.LoginSourceID); err == nil { if authSource, err := auth_model.GetSourceByID(ctx, externalAccount.LoginSourceID); err == nil && authSource.IsActive {
var providerDisplayName string var providerDisplayName string
type DisplayNamed interface { type DisplayNamed interface {