Skip to content

Commit

Permalink
solve AuthOIDCView
Browse files Browse the repository at this point in the history
  • Loading branch information
Allan-Nava authored Mar 18, 2024
1 parent 1324600 commit e1e1d2f
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions keycloak_security_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,35 +16,33 @@ def __init__(self, appbuilder):
if self.auth_type == AUTH_OID:
self.oid = OpenIDConnect(self.appbuilder.get_app)
self.authoidview = AuthOIDCView
#
#
class AuthOIDCView(AuthOIDView):
#
@expose('/login/', methods=['GET', 'POST'])
def login(self, flag=True):
sm = self.appbuilder.sm
oidc = sm.oid
default_role = "Gamma"
sm = self.appbuilder.sm
oidc = sm.oid
default_role = "Gamma"
#
@self.appbuilder.sm.oid.require_login
def handle_login():
user = sm.auth_user_oid(oidc.user_getfield('email'))
if user is None:
info = oidc.user_getinfo(['preferred_username', 'given_name', 'family_name', 'email', 'roles'])
roles = info.get('roles', [])
roles += [default_role, ]
info = oidc.user_getinfo(['preferred_username', 'given_name', 'family_name', 'email', 'roles'])
roles = info.get('roles', [])
roles += [default_role, ]
#user = sm.add_user(info.get('preferred_username'), info.get('given_name', ''), info.get('family_name', ''),
# info.get('email'), [sm.find_role(role) for role in roles])
user = sm.add_user(
user = sm.add_user(
username=info.get("sub"),
first_name=info.get("given_name", ""),
last_name=info.get("family_name", ""),
email=info.get("email"),
role=[sm.find_role(role) for role in roles],
)
#
print("login user ", user)
user.is_active = True
#
login_user(user, remember=False)
return redirect(self.appbuilder.get_url_for_index)
#
Expand Down

0 comments on commit e1e1d2f

Please sign in to comment.