setup new provider endpoint creation

This commit is contained in:
2026-08-06 20:19:11 -04:00
parent fd12ba02fd
commit 793904e942
4 changed files with 10 additions and 6 deletions
+5 -1
View File
@@ -15,6 +15,10 @@ import (
var TestTokenStore TokenStore
func SetAuth() {
TestTokenStore = TokenStore{filePath: "token.json"}
}
func generateState() (string, error) {
b := make([]byte, 32)
if _, err := rand.Read(b); err != nil {
@@ -80,7 +84,7 @@ func HandleOAuth(authData webserver.OAuthAuthData) bool {
SameSite: http.SameSiteLaxMode,
})
url := OAuthConfigs[0].AuthCodeURL(
url := DefaultProvider.Config.AuthCodeURL(
state,
oauth2.S256ChallengeOption(verifier),
)
+2
View File
@@ -18,6 +18,7 @@ type OAuthProvider struct {
}
var Providers []OAuthProvider
var DefaultProvider *OAuthProvider // Assumed to be the last created provider
func CreateOAuthProvider(issuer string, clientID string) error {
ctx := context.Background()
@@ -42,5 +43,6 @@ func CreateOAuthProvider(issuer string, clientID string) error {
Config: OAuthConfig,
}
Providers = append(Providers, newProvider)
DefaultProvider = &newProvider
return nil
}
+1 -1
View File
@@ -38,7 +38,7 @@ func OAuthCallback(w http.ResponseWriter, r *http.Request) {
verifier := verifierCookie.Value
token, err := OAuthConfigs[0].Exchange(context.Background(), code, oauth2.VerifierOption(verifier))
token, err := DefaultProvider.Config.Exchange(context.Background(), code, oauth2.VerifierOption(verifier))
if err != nil {
http.Error(w, "Failed to exchange token: "+err.Error(), http.StatusInternalServerError)
return
+2 -4
View File
@@ -16,11 +16,9 @@ func handleUser(w http.ResponseWriter, r *http.Request) {
return
}
auth.OAuthProviders[0].UserInfoEndpoint()
client := auth.DefaultProvider.Config.Client(context.Background(), token)
client := auth.OAuthConfigs[0].Client(context.Background(), token)
resp, err := client.Get(auth.OAuthProviders[0].UserInfoEndpoint())
resp, err := client.Get(auth.DefaultProvider.Provider.UserInfoEndpoint())
if err != nil {
http.Error(w, "Failed to fetch user: "+err.Error(), http.StatusInternalServerError)
return