mirror of
https://github.com/steveiliop56/tinyauth.git
synced 2026-05-09 22:08:12 +00:00
26 lines
850 B
Go
26 lines
850 B
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/tinyauthapp/tinyauth/internal/model"
|
|
"golang.org/x/oauth2/endpoints"
|
|
)
|
|
|
|
func newGoogleOAuthService(config model.OAuthServiceConfig, ctx context.Context) *OAuthService {
|
|
scopes := []string{"openid", "email", "profile"}
|
|
config.Scopes = scopes
|
|
config.AuthURL = endpoints.Google.AuthURL
|
|
config.TokenURL = endpoints.Google.TokenURL
|
|
config.UserinfoURL = "https://openidconnect.googleapis.com/v1/userinfo"
|
|
return NewOAuthService(config, "google", ctx)
|
|
}
|
|
|
|
func newGitHubOAuthService(config model.OAuthServiceConfig, ctx context.Context) *OAuthService {
|
|
scopes := []string{"read:user", "user:email"}
|
|
config.Scopes = scopes
|
|
config.AuthURL = endpoints.GitHub.AuthURL
|
|
config.TokenURL = endpoints.GitHub.TokenURL
|
|
return NewOAuthService(config, "github", ctx).WithUserinfoExtractor(githubExtractor)
|
|
}
|