added some utility functions

This commit is contained in:
Darko Luketic 2022-11-03 15:52:11 +01:00
parent 9d8fadf227
commit 7463fd83b8

View File

@ -1,5 +1,8 @@
package keycloakclaims
// RoleInRoles returns true if role is present in the claims.
//
// Deprecated: RoleInRoles will be replaced by HasRole
func RoleInRoles(role string, claims *Claims) bool {
for _, v := range claims.RealmAccess.Roles {
if role == v {
@ -8,3 +11,25 @@ func RoleInRoles(role string, claims *Claims) bool {
}
return false
}
// HasRole returns true if role is present in the claims.
func HasRole(query string, claims *Claims) bool {
for _, role := range claims.RealmAccess.Roles {
if query == role {
return true
}
}
return false
}
// HasAnyRole returns true if any of the given roles is present in the claims.
func HasAnyRole(query []string, claims *Claims) bool {
for _, q := range query {
for _, role := range claims.RealmAccess.Roles {
if q == role {
return true
}
}
}
return false
}