Signed-off-by: hongming <talonwan@yunify.com>
This commit is contained in:
hongming
2020-03-21 20:10:39 +08:00
parent 1f26e62105
commit aadb5e91e8
13 changed files with 254 additions and 38 deletions

View File

@@ -37,13 +37,13 @@ func (s *jwtTokenIssuer) Verify(tokenString string) (User, error) {
return nil, err
}
return &iam.User{Username: clm.Username, Email: clm.UID}, nil
return &iam.User{Username: clm.Username, UID: clm.UID}, nil
}
func (s *jwtTokenIssuer) IssueTo(user User) (string, error) {
clm := &claims{
Username: user.Name(),
UID: user.UID(),
Username: user.GetName(),
UID: user.GetUID(),
StandardClaims: jwt.StandardClaims{
IssuedAt: time.Now().Unix(),
Issuer: s.name,

View File

@@ -12,22 +12,22 @@ func TestJwtTokenIssuer(t *testing.T) {
testCases := []struct {
description string
name string
email string
uid string
}{
{
name: "admin",
email: "admin@kubesphere.io",
name: "admin",
uid: "b8be6edd-2c92-4535-9b2a-df6326474458",
},
{
name: "bar",
email: "bar@kubesphere.io",
name: "bar",
uid: "b8be6edd-2c92-4535-9b2a-df6326474452",
},
}
for _, testCase := range testCases {
user := &iam.User{
Username: testCase.name,
Email: testCase.email,
UID: testCase.uid,
}
t.Run(testCase.description, func(t *testing.T) {

View File

@@ -2,7 +2,8 @@ package token
type User interface {
// Name
Name() string
GetName() string
UID() string
// UID
GetUID() string
}

View File

@@ -7,6 +7,7 @@ import (
type User struct {
Username string `json:"username"`
UID string `json:"uid"`
Email string `json:"email"`
Lang string `json:"lang,omitempty"`
Description string `json:"description"`
@@ -18,6 +19,7 @@ type User struct {
func NewUser() *User {
return &User{
Username: "",
UID: "",
Email: "",
Lang: "",
Description: "",
@@ -27,12 +29,12 @@ func NewUser() *User {
}
}
func (u *User) Name() string {
func (u *User) GetName() string {
return u.Username
}
func (u *User) UID() string {
return u.Email
func (u *User) GetUID() string {
return ""
}
func (u *User) Validate() error {