def run(self, params, **options): signon = SignOn.objects.get(id=params.id[0]) id_token_string = signon.get_id_token_string() # TODO: SIOP routeine should be moved somewhere else if signon.authority.vender == "connect.venders.self": print "SIOP" id_token = IdToken.parse_siop_token(id_token_string) signon.verified = id_token.verified signon.id_token_object = id_token signon.save() print id_token.to_json(indent=2) print "*** Tokens ****" for token in signon.rp_token_related.all(): print token.id, token.created_at, token.token
def res_implicit(request, vender, action, mode): """ """ authres = AuthRes.from_url(request.get_full_path()) valid_state = authres.state == request.session["state"] if not valid_state: raise Exception("Invalid State") if not authres.id_token: raise Exception("No ID Token") signon = None errors = None try: signon = SignOn.objects.get(state=authres.state) # Save AuthRes signon.response_object = authres # Save Id Token id_token_string = signon.get_id_token_string() if id_token_string: id_token = IdToken.parse_siop_token(id_token_string) signon.verified = id_token.verified signon.id_token_object = id_token signon.subject = id_token.sub signon.save() if authres.error: raise Exception("authres error") save_signon(request, signon) return bind(request, signon) except Exception, ex: errors = traceback.format_exc() if signon: signon.errors = errors signon.save()