def test_claims_deser(): pre = Claims(name={"essential": True}, nickname=None, email={"essential": True}, email_verified={"essential": True}, picture=None) claims = claims_deser(pre.to_json(), format="json") assert _eq(claims.keys(), ['name', 'nickname', 'email', 'email_verified', 'picture']) claims = claims_deser(pre.to_dict(), format="dict") assert _eq(claims.keys(), ['name', 'nickname', 'email', 'email_verified', 'picture'])
def test_claims_deser_dict(): pre = Claims(name={"essential": True}, nickname=None, email={"essential": True}, email_verified={"essential": True}, picture=None) claims = claims_deser(pre.to_json(), sformat="json") assert _eq(claims.keys(), ['name', 'nickname', 'email', 'email_verified', 'picture']) claims = claims_deser(pre.to_dict(), sformat="dict") assert _eq(claims.keys(), ['name', 'nickname', 'email', 'email_verified', 'picture'])
def _collect_user_info(self, session, userinfo_claims=None): """ Collect information about a user. This can happen in two cases, either when constructing an IdToken or when returning user info through the UserInfo endpoint :param session: Session information :param userinfo_claims: user info claims :return: User info """ if userinfo_claims is None: uic = {} for scope in session["scope"]: try: claims = dict([(name, None) for name in SCOPE2CLAIMS[scope]]) uic.update(claims) except KeyError: pass if "oidreq" in session: oidreq = OpenIDRequest().deserialize(session["oidreq"], "json") logger.debug("OIDREQ: %s" % oidreq.to_dict()) try: _claims = oidreq["claims"]["userinfo"] except KeyError: pass else: for key, val in uic.items(): if key not in _claims: _claims[key] = val uic = _claims if uic: userinfo_claims = Claims(**uic) else: userinfo_claims = None elif uic: userinfo_claims = Claims(**uic) else: userinfo_claims = None logger.debug("userinfo_claim: %s" % userinfo_claims.to_dict()) logger.debug("Session info: %s" % session) info = self.userinfo(session["local_sub"], userinfo_claims) info["sub"] = session["sub"] logger.debug("user_info_response: %s" % (info,)) return info
def test_claims_deser_dict(): pre = Claims( name={"essential": True}, nickname=None, email={"essential": True}, email_verified={"essential": True}, picture=None, ) claims = claims_deser(pre.to_json(), sformat="json") assert _eq(claims.keys(), ["name", "nickname", "email", "email_verified", "picture"]) claims = claims_deser(pre.to_dict(), sformat="dict") assert _eq(claims.keys(), ["name", "nickname", "email", "email_verified", "picture"])