1
1
Fork 1
mirror of https://github.com/go-gitea/gitea.git synced 2024-05-08 11:26:07 +02:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Arnaud Siebens 488e1acebf
Merge cf4c24a827 into 27861d711b 2024-04-26 20:42:51 -04:00
GiteaBot 27861d711b [skip ci] Updated translations via Crowdin 2024-04-27 00:24:31 +00:00
Arnaud Siebens cf4c24a827 Fix formatting 2024-04-15 10:00:06 +02:00
Arnaud Siebens fa36d3d45f Encrypt OAuth2 ClientSecret 2024-04-15 10:00:06 +02:00
2 changed files with 25 additions and 2 deletions

View File

@ -436,6 +436,7 @@ oauth_signin_submit=Vincular conta
oauth.signin.error=Ocorreu um erro durante o processamento do pedido de autorização. Se este erro persistir, contacte o administrador.
oauth.signin.error.access_denied=O pedido de autorização foi negado.
oauth.signin.error.temporarily_unavailable=A autorização falhou porque o servidor de autenticação está temporariamente indisponível. Tente mais tarde.
oauth_callback_unable_auto_reg=O registo automático está habilitado, mas o fornecedor OAuth2 %[1]s sinalizou campos em falta: %[2]s, por isso não foi possível criar uma conta automaticamente. Crie ou vincule uma conta ou contacte o administrador do sítio.
openid_connect_submit=Estabelecer ligação
openid_connect_title=Estabelecer ligação a uma conta existente
openid_connect_desc=O URI do OpenID escolhido é desconhecido. Associe-o a uma nova conta aqui.

View File

@ -6,6 +6,8 @@ package oauth2
import (
"code.gitea.io/gitea/models/auth"
"code.gitea.io/gitea/modules/json"
"code.gitea.io/gitea/modules/secret"
"code.gitea.io/gitea/modules/setting"
)
// Source holds configuration for the OAuth2 login source.
@ -13,6 +15,7 @@ type Source struct {
Provider string
ClientID string
ClientSecret string
ClientSecretEncrypt string // Encrypted Client Secret
OpenIDConnectAutoDiscoveryURL string
CustomURLMapping *CustomURLMapping
IconURL string
@ -33,11 +36,30 @@ type Source struct {
// FromDB fills up an OAuth2Config from serialized format.
func (source *Source) FromDB(bs []byte) error {
return json.UnmarshalHandleDoubleEncode(bs, &source)
err := json.UnmarshalHandleDoubleEncode(bs, &source)
if err != nil {
return err
}
if source.ClientSecretEncrypt != "" {
source.ClientSecret, err = secret.DecryptSecret(setting.SecretKey, source.ClientSecretEncrypt)
source.ClientSecretEncrypt = ""
}
return err
}
// ToDB exports an SMTPConfig to a serialized format.
// ToDB exports an OAuth2Config to a serialized format.
func (source *Source) ToDB() ([]byte, error) {
var err error
source.ClientSecretEncrypt, err = secret.EncryptSecret(setting.SecretKey, source.ClientSecret)
if err != nil {
return nil, err
}
source.ClientSecret = ""
return json.Marshal(source)
}