fix: handle single aud
string claim, extract en/decoder interface, comments (#51)
* en/decoding abstraction * some comments * fix token validation and error messages * fix: audience mapping (single aud string) * fix tests with VerifyIdToken * reformat imports * go mod tidy * Update pkg/oidc/authorization.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/oidc/authorization.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * Update pkg/op/authrequest_test.go Co-authored-by: Silvan <silvan.reusser@gmail.com> * fix capitalization Co-authored-by: Silvan <silvan.reusser@gmail.com>
This commit is contained in:
parent
822ffb581f
commit
abd3b6f521
24 changed files with 381 additions and 139 deletions
37
pkg/rp/mock/verifier.mock.impl.go
Normal file
37
pkg/rp/mock/verifier.mock.impl.go
Normal file
|
@ -0,0 +1,37 @@
|
|||
package mock
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/golang/mock/gomock"
|
||||
|
||||
"github.com/caos/oidc/pkg/oidc"
|
||||
"github.com/caos/oidc/pkg/rp"
|
||||
)
|
||||
|
||||
func NewVerifier(t *testing.T) rp.Verifier {
|
||||
return NewMockVerifier(gomock.NewController(t))
|
||||
}
|
||||
|
||||
func NewMockVerifierExpectInvalid(t *testing.T) rp.Verifier {
|
||||
m := NewVerifier(t)
|
||||
ExpectVerifyInvalid(m)
|
||||
return m
|
||||
}
|
||||
|
||||
func ExpectVerifyInvalid(v rp.Verifier) {
|
||||
mock := v.(*MockVerifier)
|
||||
mock.EXPECT().VerifyIDToken(gomock.Any(), gomock.Any()).Return(nil, errors.New("invalid"))
|
||||
}
|
||||
|
||||
func NewMockVerifierExpectValid(t *testing.T) rp.Verifier {
|
||||
m := NewVerifier(t)
|
||||
ExpectVerifyValid(m)
|
||||
return m
|
||||
}
|
||||
|
||||
func ExpectVerifyValid(v rp.Verifier) {
|
||||
mock := v.(*MockVerifier)
|
||||
mock.EXPECT().VerifyIDToken(gomock.Any(), gomock.Any()).Return(&oidc.IDTokenClaims{Userinfo: oidc.Userinfo{Subject: "id"}}, nil)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue