idle
This commit is contained in:
@@ -14,13 +14,13 @@ import (
|
||||
"golang.org/x/oauth2"
|
||||
)
|
||||
|
||||
type Service struct {
|
||||
type OIDCService struct {
|
||||
provider *oidc.Provider
|
||||
oauth2Config oauth2.Config
|
||||
db *database.DB // Assume we have a DB wrapper
|
||||
}
|
||||
|
||||
func NewService(cfg *config.Config, db *database.DB) (*Service, error) {
|
||||
func NewOIDCService(cfg *config.Config, db *database.DB) (*OIDCService, error) {
|
||||
ctx := context.Background()
|
||||
|
||||
provider, err := oidc.NewProvider(ctx, cfg.OIDCIssuerURL)
|
||||
@@ -36,18 +36,18 @@ func NewService(cfg *config.Config, db *database.DB) (*Service, error) {
|
||||
Scopes: []string{oidc.ScopeOpenID, "profile", "email"},
|
||||
}
|
||||
|
||||
return &Service{
|
||||
return &OIDCService{
|
||||
provider: provider,
|
||||
oauth2Config: oauth2Config,
|
||||
db: db,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *Service) LoginURL(state string) string {
|
||||
func (s *OIDCService) LoginURL(state string) string {
|
||||
return s.oauth2Config.AuthCodeURL(state)
|
||||
}
|
||||
|
||||
func (s *Service) HandleCallback(ctx context.Context, code, state string) (*database.User, *database.Session, error) {
|
||||
func (s *OIDCService) HandleCallback(ctx context.Context, code, state string) (*database.User, *database.Session, error) {
|
||||
oauth2Token, err := s.oauth2Config.Exchange(ctx, code)
|
||||
if err != nil {
|
||||
return nil, nil, fmt.Errorf("failed to exchange code: %w", err)
|
||||
|
||||
Reference in New Issue
Block a user