def setup_client(self):
        """The command registers the client for communication protection. This
        will be used to obtain an access token via the Get Client Token
        command. The access token will be passed as a protection_access_token
        parameter to other commands.

        Note:
            If you are using the oxd-https-extension, you must setup the client

        Returns:
            **dict:** the client setup information

            Example response::

                {
                    "oxd_id":"6F9619FF-8B86-D011-B42D-00CF4FC964FF",
                    "op_host": "<op host>",
                    "client_id":"<client id>",
                    "client_secret":"<client secret>",
                    "client_registration_access_token":"<Client registration access token>",
                    "client_registration_client_uri":"<URI of client registration>",
                    "client_id_issued_at":"<client_id issued at>",
                    "client_secret_expires_at":"<client_secret expires at>"
                }

        """
        # add required params for the command
        params = {
            "authorization_redirect_uri": self.authorization_redirect_uri,
			"oxd_rp_programming_language": "python",
            }

        # add other optional params if they exist in config
        for op in self.opt_params:
            if self.config.get("client", op):
                params[op] = self.config.get("client", op)

        for olp in self.opt_list_params:
            if self.config.get("client", olp):
                params[olp] = self.config.get("client", olp).split(",")

        logger.debug("Sending command `setup_client` with params %s", params)

        response = self.msgr.request("setup_client", **params)
        logger.debug("Received response: %s", response)

        if response['status'] == 'error':
            raise OxdServerError(response['data'])
        data = response["data"]

        self.oxd_id = data["oxd_id"]
        self.config.set("oxd", "id", data["oxd_id"])
        self.config.set("client", "client_id", data["client_id"])
        self.config.set("client", "client_secret", data["client_secret"])
        if data["client_registration_access_token"]:
            self.config.set("client", "client_registration_access_token",
                            data["client_registration_access_token"])
        if data["client_registration_client_uri"]:
            self.config.set("client", "client_registration_client_uri",
                            data["client_registration_client_uri"])
        self.config.set("client", "client_id_issued_at",
                        str(data["client_id_issued_at"]))

        return data
def setup_client ( self ) : params = { "authorization_redirect_uri" : self . authorization_redirect_uri , "oxd_rp_programming_language" : "python" , } for op in self . opt_params : if self . config . get ( "client" , op ) : params [ op ] = self . config . get ( "client" , op ) for olp in self . opt_list_params : if self . config . get ( "client" , olp ) : params [ olp ] = self . config . get ( "client" , olp ) . split ( "," ) logger . debug ( "Sending command `setup_client` with params %s" , params ) response = self . msgr . request ( "setup_client" , ** params ) logger . debug ( "Received response: %s" , response ) if response [ 'status' ] == 'error' : raise OxdServerError ( response [ 'data' ] ) data = response [ "data" ] self . oxd_id = data [ "oxd_id" ] self . config . set ( "oxd" , "id" , data [ "oxd_id" ] ) self . config . set ( "client" , "client_id" , data [ "client_id" ] ) self . config . set ( "client" , "client_secret" , data [ "client_secret" ] ) if data [ "client_registration_access_token" ] : self . config . set ( "client" , "client_registration_access_token" , data [ "client_registration_access_token" ] ) if data [ "client_registration_client_uri" ] : self . config . set ( "client" , "client_registration_client_uri" , data [ "client_registration_client_uri" ] ) self . config . set ( "client" , "client_id_issued_at" , str ( data [ "client_id_issued_at" ] ) ) return data
The command registers the client for communication protection. This
        will be used to obtain an access token via the Get Client Token
        command. The access token will be passed as a protection_access_token
        parameter to other commands.

        Note:
            If you are using the oxd-https-extension, you must setup the client

        Returns:
            **dict:** the client setup information

            Example response::

                {
                    "oxd_id":"6F9619FF-8B86-D011-B42D-00CF4FC964FF",
                    "op_host": "<op host>",
                    "client_id":"<client id>",
                    "client_secret":"<client secret>",
                    "client_registration_access_token":"<Client registration access token>",
                    "client_registration_client_uri":"<URI of client registration>",
                    "client_id_issued_at":"<client_id issued at>",
                    "client_secret_expires_at":"<client_secret expires at>"
                }