1
0
mirror of https://github.com/oauth2-proxy/oauth2-proxy.git synced 2025-07-15 01:44:22 +02:00

Add header Injector

This commit is contained in:
Joel Speed
2020-07-26 04:50:18 +01:00
parent d9ed1e7d45
commit ca5fd3c39f
7 changed files with 725 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import (
"io"
"io/ioutil"
"reflect"
"strings"
"time"
"unicode/utf8"
@ -69,6 +70,34 @@ func (s *SessionState) String() string {
return o + "}"
}
func (s *SessionState) GetClaim(claim string) string {
if s == nil {
return ""
}
switch claim {
case "access_token":
return s.AccessToken
case "id_token":
return s.IDToken
case "created_at":
return s.CreatedAt.String()
case "expires_on":
return s.ExpiresOn.String()
case "refresh_token":
return s.RefreshToken
case "email":
return s.Email
case "user":
return s.User
case "groups":
return strings.Join(s.Groups, ",")
case "preferred_username":
return s.PreferredUsername
default:
return ""
}
}
// EncodeSessionState returns an encrypted, lz4 compressed, MessagePack encoded session
func (s *SessionState) EncodeSessionState(c encryption.Cipher, compress bool) ([]byte, error) {
packed, err := msgpack.Marshal(s)