Skip to content
Snippets Groups Projects
Commit 054e32ed authored by Niall Sheridan's avatar Niall Sheridan
Browse files

Merge pull request #9 from nsheridan/github_auth

Set expiry time in the github auth package
parents 69973a0c 54e3f0f7
Branches
Tags
No related merge requests found
......@@ -14,7 +14,6 @@ import (
"net/http"
"os"
"strings"
"time"
"golang.org/x/oauth2"
......@@ -133,11 +132,6 @@ func callbackHandler(a *appContext, w http.ResponseWriter, r *http.Request) (int
if err := a.authsession.Authorize(a.authprovider, code); err != nil {
return http.StatusInternalServerError, err
}
// Github tokens don't have an expiry. Set one so that the session expires
// after a period.
if a.authsession.Token.Expiry.Unix() <= 0 {
a.authsession.Token.Expiry = time.Now().Add(1 * time.Hour)
}
a.setAuthCookie(w, r, a.authsession.Token)
http.Redirect(w, r, "/", http.StatusFound)
return http.StatusFound, nil
......
......@@ -3,6 +3,7 @@ package github
import (
"errors"
"net/http"
"time"
"github.com/nsheridan/cashier/server/auth"
"github.com/nsheridan/cashier/server/config"
......@@ -83,7 +84,16 @@ func (c *Config) StartSession(state string) *auth.Session {
// Exchange authorizes the session and returns an access token.
func (c *Config) Exchange(code string) (*oauth2.Token, error) {
return c.config.Exchange(oauth2.NoContext, code)
t, err := c.config.Exchange(oauth2.NoContext, code)
if err != nil {
return nil, err
}
// Github tokens don't have an expiry. Set one so that the session expires
// after a period.
if t.Expiry.Unix() <= 0 {
t.Expiry = time.Now().Add(1 * time.Hour)
}
return t, nil
}
// Username retrieves the username portion of the user's email address.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment