async def grant_consent_to_scope( self, appId, o_auth_2_scope_consent_grant ): """ Grants consent for the application to request an OAuth 2.0 Okta scope Args: app_id {str} {o_auth_2_scope_consent_grant} Returns: OAuth2ScopeConsentGrant """ http_method = "post".upper() api_url = format_url(f""" {self._base_url} /api/v1/apps/{appId}/grants """) if isinstance(o_auth_2_scope_consent_grant, dict): body = o_auth_2_scope_consent_grant else: body = o_auth_2_scope_consent_grant.as_dict() headers = { "Accept": "application/json", "Content-Type": "application/json" } request, error = await self._request_executor.create_request( http_method, api_url, body, headers ) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, OAuth2ScopeConsentGrant) if error: return (None, response, error) try: result = OAuth2ScopeConsentGrant( self.form_response_body(response.get_body()) ) except Exception as error: return (None, response, error) return (result, response, None)
async def get_scope_consent_grant( self, appId, grantId, query_params={} ): """ Fetches a single scope consent grant for the applicatio n Args: app_id {str} grant_id {str} query_params {dict}: Map of query parameters for request [query_params.expand] {str} Returns: OAuth2ScopeConsentGrant """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/apps/{appId}/grants/{grantId} """) if query_params: encoded_query_params = urlencode(query_params) api_url += f"/?{encoded_query_params}" body = {} headers = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers ) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, OAuth2ScopeConsentGrant) if error: return (None, response, error) try: result = OAuth2ScopeConsentGrant( self.form_response_body(response.get_body()) ) except Exception as error: return (None, response, error) return (result, response, None)
async def list_scope_consent_grants( self, appId, query_params={} ): """ Lists all scope consent grants for the application Args: app_id {str} query_params {dict}: Map of query parameters for request [query_params.expand] {str} Returns: list: Collection of OAuth2ScopeConsentGrant instances. """ http_method = "get".upper() api_url = format_url(f""" {self._base_url} /api/v1/apps/{appId}/grants """) if query_params: encoded_query_params = urlencode(query_params) api_url += f"/?{encoded_query_params}" body = {} headers = {} request, error = await self._request_executor.create_request( http_method, api_url, body, headers ) if error: return (None, None, error) response, error = await self._request_executor\ .execute(request, OAuth2ScopeConsentGrant) if error: return (None, response, error) try: result = [] for item in response.get_body(): result.append(OAuth2ScopeConsentGrant( self.form_response_body(item) )) except Exception as error: return (None, response, error) return (result, response, None)