Documentation ¶
Index ¶
- func GetPubkeyIamManager(certUrl string) error
- func GetTokenClaimsByCustomClaims(tokenString string, myclaims interface{}) (interface{}, error)
- func IsHasRoleInUserRolesArr(grandtedRoleArr []string, userRolesArr []string) bool
- func IsTokenValid(tokenString string) error
- func Keyfunction(token *jwt.Token) (interface{}, error)
- type DefaultClaims
- type IamManagerClaims
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetPubkeyIamManager ¶
해당 기능은 1회 반드시 호출되어야 합니다. GetPubkeyIamManager는 제공된 MC-IAM-MANAGER url을 통해 "/api/auth/certs" 의 인증서를 받아 공용키를 준비합니다. 정상시 error 를 반환하지 않습니다. jwkSet fetch 오류 발생시 에러를 반환합니다. (panic, fatal 권장)
func GetTokenClaimsByCustomClaims ¶
GetTokenClaimsByCustomClaims는 GetPubkeyIamManager에서 설정된 jwkSet을 바탕으로 tokenString 값을 임의로 정의한 Claims를 사용하여 ParseWithClaims하여 valid 를 검증하고 Claims를 반환합니다. token이 valid 하지 않을시, token is invalid 와 함께 오류 내용을 반환합니다.
func IsHasRoleInUserRolesArr ¶
func IsTokenValid ¶
IsTokenValid는 GetPubkeyIamManager에서 설정된 jwkSet을 바탕으로 tokenString 값을 ParseWithClaims하여 token.Valid를 검증하고 마칩니다. 검증이 성공했을때, error를 반환하지 않습니다. valid 하지 않을시, token is invalid 와 함께 오류 내용을 반환합니다.
func Keyfunction ¶
func Keyfunction(token *jwt.Token) (interface{}, error)
Keyfunction은 토큰 검증을 위한 rawkey 를 반환합니다. RS256, RS384, RS512 can be Signing Method
Types ¶
type DefaultClaims ¶
type DefaultClaims struct {
*jwt.StandardClaims
}
type IamManagerClaims ¶
type IamManagerClaims struct { *jwt.StandardClaims UserId string `json:"upn"` UserName string `json:"name"` PreferredUsername string `json:"preferred_username"` RealmAccess struct { Roles []string `json:"roles"` } `json:"realm_access"` }
func GetTokenClaimsByIamManagerClaims ¶
func GetTokenClaimsByIamManagerClaims(tokenString string) (*IamManagerClaims, error)
GetTokenInfoByIamManagerClaim는 GetPubkeyIamManager에서 설정된 jwkSet을 바탕으로 tokenString 값을 IamManagerClaims에 정의된 UserId, UserName, PreferredUsername, RealmAccess 및 jwt.StandardClaims 를 사용하여 ParseWithClaims하여 valid 를 검증하고 IamManagerClaims를 반환합니다. token이 valid 하지 않을시, token is invalid 와 함께 오류 내용을 반환합니다.