def authorization_endpoint(self, request="", cookie=None, **kwargs):

        info = self.auth_init(request, request_class=AuthorizationRequest)
        if isinstance(info, Response):
            return info

        areq = self.handle_oidc_request(info["areq"], info["redirect_uri"])
        if isinstance(areq, Response):
            return areq

        logger.info("authorization_request: %s" % (areq.to_dict(),))

        _cid = areq["client_id"]
        cinfo = self.cdb[str(_cid)]
        if _cid not in self.keyjar.issuer_keys:
            if "jwks_uri" in cinfo:
                self.keyjar.issuer_keys[_cid] = []
                self.keyjar.add(_cid, cinfo["jwks_uri"])

        req_user = self.required_user(areq)
        if req_user:
            sids = self.sdb.get_sids_by_sub(req_user)
            if sids:
                # anyone will do
                authn_event = self.sdb[sids[-1]]["authn_event"]
                # Is the authentication event to be regarded as valid ?
                if authn_event.valid():
                    sid = self.setup_session(areq, authn_event, cinfo)
                    return self.authz_part2(authn_event.uid, areq, sid,
                                            cookie=cookie)

            kwargs["req_user"] = req_user

        authnres = self.do_auth(info["areq"], info["redirect_uri"],
                                cinfo, request, cookie, **kwargs)

        if isinstance(authnres, Response):
            return authnres

        logger.debug("- authenticated -")
        logger.debug("AREQ keys: %s" % list(areq.keys()))

        sid = self.setup_session(areq, authnres["authn_event"], cinfo)
        return self.authz_part2(authnres["user"], areq, sid, cookie=cookie)
The AuthorizationRequest endpoint
dataset/ETHPy150Open rohe/pyoidc/src/oic/oic/provider.py/Provider.authorization_endpoint