예제 #1
0
    def create_session(self, identifier=None):

        client_id = self.consumer_key
        client_secret = self.consumer_secret

        logger.info('OpsOAuthClientFactory.create_session: ' \
                    'identifier={identifier}, client_id={client_id}'.format(**locals()))

        token_url = OPS_AUTH_URI + '/accesstoken'
        refresh_url = token_url

        extra = {
            'client_id': client_id,
            'client_secret': client_secret,
        }

        def token_saver(token):
            #print "token_saver:", token
            pass

        client = BackendApplicationClient(client_id)
        client.prepare_refresh_body = client.prepare_request_body
        #print "BackendApplicationClient.request_body:", client.prepare_request_body()
        #'grant_type=client_credentials&scope=hello+world'

        empty_token = OpsOAuth2Session.get_empty_token()
        session = OpsOAuth2Session(client_id=client_id,
                                   client=client,
                                   auto_refresh_url=refresh_url,
                                   auto_refresh_kwargs=extra,
                                   token=empty_token,
                                   token_updater=token_saver)

        self.ops_compliance_fix(session)

        return session