"log"
"net/http"
"os"
+ "strings"
pkgglob "our-wedding-rsvp/pkg/glob"
}
-func GenerateGoogleOauthConfig() *oauth2.Config {
+func GenerateGoogleOauthConfig() (*oauth2.Config, error) {
google_oauth_config := &oauth2.Config{
ClientID: OAUTH_JSON.Web.ClientID,
Endpoint: google.Endpoint,
}
- google_oauth_config.RedirectURL = pkgglob.G_CONF.Url
+ found := 0
+
+ redirectlen := len(OAUTH_JSON.Web.RedirectUris)
+
+ for i := 0; i < redirectlen; i++ {
+
+ if strings.HasPrefix(OAUTH_JSON.Web.RedirectUris[i], pkgglob.G_CONF.Url) {
+
+ google_oauth_config.RedirectURL = OAUTH_JSON.Web.RedirectUris[i]
+
+ found = 1
+
+ break
+ }
+
+ }
+
+ if found == 0 {
+ return nil, fmt.Errorf("failed to find redirect url")
+ }
log.Println(google_oauth_config.RedirectURL)
- return google_oauth_config
+ return google_oauth_config, nil
}
e.GET("/api/oauth2/google/signin", pkgserverapi.OauthGoogleLogin)
- e.GET("/oauth2/google/callback", pkgserverapi.OauthGoogleCallback)
+ e.GET("/api/oauth2/google/callback", pkgserverapi.OauthGoogleCallback)
e.POST("/api/signin", pkgserverapi.Login)