commit
cfad6acf8f
@ -110,6 +110,7 @@ The environment variables `google_auth_client_id`, `google_auth_secret` and `goo
|
|||||||
|
|
||||||
Google auth proxy responds directly to the following endpoints. All other endpoints will be authenticated.
|
Google auth proxy responds directly to the following endpoints. All other endpoints will be authenticated.
|
||||||
|
|
||||||
|
* /ping - returns an 200 OK response
|
||||||
* /oauth2/sign_in - the login page, which also doubles as a sign out page (it clears cookies)
|
* /oauth2/sign_in - the login page, which also doubles as a sign out page (it clears cookies)
|
||||||
* /oauth2/start - a URL that will redirect to start the oauth cycle
|
* /oauth2/start - a URL that will redirect to start the oauth cycle
|
||||||
* /oauth2/callback - the URL used at the end of the oauth cycle
|
* /oauth2/callback - the URL used at the end of the oauth cycle
|
||||||
|
@ -16,6 +16,7 @@ import (
|
|||||||
"github.com/bitly/go-simplejson"
|
"github.com/bitly/go-simplejson"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const pingPath = "/ping"
|
||||||
const signInPath = "/oauth2/sign_in"
|
const signInPath = "/oauth2/sign_in"
|
||||||
const oauthStartPath = "/oauth2/start"
|
const oauthStartPath = "/oauth2/start"
|
||||||
const oauthCallbackPath = "/oauth2/callback"
|
const oauthCallbackPath = "/oauth2/callback"
|
||||||
@ -192,6 +193,11 @@ func (p *OauthProxy) SetCookie(rw http.ResponseWriter, req *http.Request, val st
|
|||||||
http.SetCookie(rw, cookie)
|
http.SetCookie(rw, cookie)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *OauthProxy) PingPage(rw http.ResponseWriter) {
|
||||||
|
rw.WriteHeader(http.StatusOK)
|
||||||
|
fmt.Fprintf(rw, "OK")
|
||||||
|
}
|
||||||
|
|
||||||
func (p *OauthProxy) ErrorPage(rw http.ResponseWriter, code int, title string, message string) {
|
func (p *OauthProxy) ErrorPage(rw http.ResponseWriter, code int, title string, message string) {
|
||||||
log.Printf("ErrorPage %d %s %s", code, title, message)
|
log.Printf("ErrorPage %d %s %s", code, title, message)
|
||||||
rw.WriteHeader(code)
|
rw.WriteHeader(code)
|
||||||
@ -267,6 +273,11 @@ func (p *OauthProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
|
|||||||
var ok bool
|
var ok bool
|
||||||
var user string
|
var user string
|
||||||
|
|
||||||
|
if req.URL.Path == pingPath {
|
||||||
|
p.PingPage(rw)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if req.URL.Path == signInPath {
|
if req.URL.Path == signInPath {
|
||||||
redirect, err := p.GetRedirect(req)
|
redirect, err := p.GetRedirect(req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user