this repo has no description smallweb.run
smallweb
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix automatic redirect on signin

pomdtr d7641851 1f0144a1

+7 -7
+7 -7
cmd/up.go
··· 712 712 } 713 713 714 714 if !errors.Is(err, &oidc.TokenExpiredError{}) { 715 - http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin", r.Host), http.StatusTemporaryRedirect) 715 + http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin?success_url=%s", r.Host, r.URL.Path), http.StatusTemporaryRedirect) 716 716 return 717 717 } 718 718 ··· 720 720 if errors.As(err, &expiredErr) { 721 721 refreshTokenCookie, err := r.Cookie("refresh_token") 722 722 if err != nil { 723 - http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin", r.Host), http.StatusTemporaryRedirect) 723 + http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin?success_url=%s", r.Host, r.URL.Path), http.StatusTemporaryRedirect) 724 724 return 725 725 } 726 726 ··· 733 733 tokenSource := oauth2Config.TokenSource(context.Background(), &oauth2.Token{RefreshToken: refreshTokenCookie.Value}) 734 734 oauth2Token, err := tokenSource.Token() 735 735 if err != nil { 736 - http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin", r.Host), http.StatusTemporaryRedirect) 736 + http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin?success_url=%s", r.Host, r.URL.Path), http.StatusTemporaryRedirect) 737 737 return 738 738 } 739 739 740 740 rawIdToken, ok := oauth2Token.Extra("id_token").(string) 741 741 if !ok { 742 - http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin", r.Host), http.StatusTemporaryRedirect) 742 + http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin?success_url=%s", r.Host, r.URL.Path), http.StatusTemporaryRedirect) 743 743 return 744 744 } 745 745 ··· 752 752 verifier := provider.Verifier(&oidc.Config{ClientID: r.Host}) 753 753 idToken, err := verifier.Verify(r.Context(), rawIdToken) 754 754 if err != nil { 755 - http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin", r.Host), http.StatusTemporaryRedirect) 755 + http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin?success_url=%s", r.Host, r.URL.Path), http.StatusTemporaryRedirect) 756 756 return 757 757 } 758 758 759 759 if err := idToken.Claims(&claims); err != nil { 760 - http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin", r.Host), http.StatusTemporaryRedirect) 760 + http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin?success_url=%s", r.Host, r.URL.Path), http.StatusTemporaryRedirect) 761 761 return 762 762 } 763 763 ··· 787 787 788 788 if isRoutePrivate(wk.App, r.URL.Path) && !isAuthorized(appname, claims.Email, claims.Group) { 789 789 if claims.Email == "" { 790 - http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin", r.Host), http.StatusTemporaryRedirect) 790 + http.Redirect(w, r, fmt.Sprintf("https://%s/_smallweb/signin?success_url=%s", r.Host, r.URL.Path), http.StatusTemporaryRedirect) 791 791 return 792 792 } 793 793