implement OIDC auth

هذا الالتزام موجود في:
Gustavo Maronato
2023-09-15 18:56:14 -03:00
الأصل 319a89387a
التزام 1dcb900cf3
9 ملفات معدلة مع 99 إضافات و9 حذوفات

عرض الملف

@@ -15,6 +15,7 @@ type User struct {
AvatarURL string
GithubID string
GiteaID string
OIDCID string `gorm:"column:oidc_id"`
Gists []Gist `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE;foreignKey:UserID"`
SSHKeys []SSHKey `gorm:"constraint:OnUpdate:CASCADE,OnDelete:CASCADE;foreignKey:UserID"`
@@ -124,6 +125,8 @@ func GetUserByProvider(id string, provider string) (*User, error) {
err = db.Where("github_id = ?", id).First(&user).Error
case "gitea":
err = db.Where("gitea_id = ?", id).First(&user).Error
case "openid-connect":
err = db.Where("oidc_id = ?", id).First(&user).Error
}
return user, err
@@ -169,6 +172,11 @@ func (user *User) DeleteProviderID(provider string) error {
Update("gitea_id", nil).
Update("avatar_url", nil).
Error
case "openid-connect":
return db.Model(&user).
Update("oidc_id", nil).
Update("avatar_url", nil).
Error
}
return nil