You've already forked oauth2-proxy
mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2025-12-01 22:51:45 +02:00
SessionState refactoring; improve token renewal and cookie refresh
* New SessionState to consolidate email, access token and refresh token * split ServeHttp into individual methods * log on session renewal * log on access token refresh * refactor cookie encription/decription and session state serialization
This commit is contained in:
@@ -1,11 +1,18 @@
|
||||
package providers
|
||||
|
||||
import (
|
||||
"github.com/bitly/oauth2_proxy/cookie"
|
||||
)
|
||||
|
||||
type Provider interface {
|
||||
Data() *ProviderData
|
||||
GetEmailAddress(body []byte, access_token string) (string, error)
|
||||
Redeem(string, string) ([]byte, string, error)
|
||||
ValidateToken(access_token string) bool
|
||||
GetEmailAddress(*SessionState) (string, error)
|
||||
Redeem(string, string) (*SessionState, error)
|
||||
ValidateSessionState(*SessionState) bool
|
||||
GetLoginURL(redirectURI, finalRedirect string) string
|
||||
RefreshSessionIfNeeded(*SessionState) (bool, error)
|
||||
SessionFromCookie(string, *cookie.Cipher) (*SessionState, error)
|
||||
CookieForSession(*SessionState, *cookie.Cipher) (string, error)
|
||||
}
|
||||
|
||||
func New(provider string, p *ProviderData) Provider {
|
||||
|
||||
Reference in New Issue
Block a user