mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-22 12:48:14 -05:00
18020939da
Some checks failed
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Contributors / contributors (push) Has been cancelled
Sync / sync-to-jihulab (push) Has been cancelled
Run Tests / tests (macos) (push) Has been cancelled
Run Tests / tests (ubuntu) (push) Has been cancelled
Run Tests / tests (windows) (push) Has been cancelled
34 lines
1.0 KiB
Go
34 lines
1.0 KiB
Go
package model
|
|
|
|
import (
|
|
"golang.org/x/oauth2"
|
|
)
|
|
|
|
type Oauth2Config struct {
|
|
ClientID string `mapstructure:"client_id" json:"client_id,omitempty"`
|
|
ClientSecret string `mapstructure:"client_secret" json:"client_secret,omitempty"`
|
|
Endpoint Oauth2Endpoint `mapstructure:"endpoint" json:"endpoint,omitempty"`
|
|
Scopes []string `mapstructure:"scopes" json:"scopes,omitempty"`
|
|
|
|
UserInfoURL string `mapstructure:"user_info_url" json:"user_info_url,omitempty"`
|
|
UserIDPath string `mapstructure:"user_id_path" json:"user_id_path,omitempty"`
|
|
}
|
|
|
|
type Oauth2Endpoint struct {
|
|
AuthURL string `mapstructure:"auth_url" json:"auth_url,omitempty"`
|
|
TokenURL string `mapstructure:"token_url" json:"token_url,omitempty"`
|
|
}
|
|
|
|
func (c *Oauth2Config) Setup(redirectURL string) *oauth2.Config {
|
|
return &oauth2.Config{
|
|
ClientID: c.ClientID,
|
|
ClientSecret: c.ClientSecret,
|
|
Endpoint: oauth2.Endpoint{
|
|
AuthURL: c.Endpoint.AuthURL,
|
|
TokenURL: c.Endpoint.TokenURL,
|
|
},
|
|
RedirectURL: redirectURL,
|
|
Scopes: c.Scopes,
|
|
}
|
|
}
|