def update_oidc_provider_config(self, provider_id, client_id=None, issuer=None, display_name=None, enabled=None): """Updates an existing OIDC provider config with the given parameters.""" _validate_oidc_provider_id(provider_id) req = {} if display_name is not None: if display_name == _user_mgt.DELETE_ATTRIBUTE: req['displayName'] = None else: req['displayName'] = _auth_utils.validate_string( display_name, 'display_name') if enabled is not None: req['enabled'] = _auth_utils.validate_boolean(enabled, 'enabled') if client_id: req['clientId'] = _validate_non_empty_string( client_id, 'client_id') if issuer: req['issuer'] = _validate_url(issuer, 'issuer') if not req: raise ValueError( 'At least one parameter must be specified for update.') update_mask = _auth_utils.build_update_mask(req) params = 'updateMask={0}'.format(','.join(update_mask)) url = '/oauthIdpConfigs/{0}'.format(provider_id) body = self._make_request('patch', url, json=req, params=params) return OIDCProviderConfig(body)
def update_saml_provider_config(self, provider_id, idp_entity_id=None, sso_url=None, x509_certificates=None, rp_entity_id=None, callback_url=None, display_name=None, enabled=None): """Updates an existing SAML provider config with the given parameters.""" _validate_saml_provider_id(provider_id) idp_config = {} if idp_entity_id is not None: idp_config['idpEntityId'] = _validate_non_empty_string( idp_entity_id, 'idp_entity_id') if sso_url is not None: idp_config['ssoUrl'] = _validate_url(sso_url, 'sso_url') if x509_certificates is not None: idp_config['idpCertificates'] = _validate_x509_certificates( x509_certificates) sp_config = {} if rp_entity_id is not None: sp_config['spEntityId'] = _validate_non_empty_string( rp_entity_id, 'rp_entity_id') if callback_url is not None: sp_config['callbackUri'] = _validate_url(callback_url, 'callback_url') req = {} if display_name is not None: if display_name == _user_mgt.DELETE_ATTRIBUTE: req['displayName'] = None else: req['displayName'] = _auth_utils.validate_string( display_name, 'display_name') if enabled is not None: req['enabled'] = _auth_utils.validate_boolean(enabled, 'enabled') if idp_config: req['idpConfig'] = idp_config if sp_config: req['spConfig'] = sp_config if not req: raise ValueError( 'At least one parameter must be specified for update.') update_mask = _auth_utils.build_update_mask(req) params = 'updateMask={0}'.format(','.join(update_mask)) url = '/inboundSamlConfigs/{0}'.format(provider_id) body = self._make_request('patch', url, json=req, params=params) return SAMLProviderConfig(body)
def create_oidc_provider_config( self, provider_id, client_id, issuer, display_name=None, enabled=None): """Creates a new OIDC provider config from the given parameters.""" _validate_oidc_provider_id(provider_id) req = { 'clientId': _validate_non_empty_string(client_id, 'client_id'), 'issuer': _validate_url(issuer, 'issuer'), } if display_name is not None: req['displayName'] = _auth_utils.validate_string(display_name, 'display_name') if enabled is not None: req['enabled'] = _auth_utils.validate_boolean(enabled, 'enabled') params = 'oauthIdpConfigId={0}'.format(provider_id) body = self._make_request('post', '/oauthIdpConfigs', json=req, params=params) return OIDCProviderConfig(body)
def create_oidc_provider_config(self, provider_id, client_id, issuer, display_name=None, enabled=None, client_secret=None, id_token_response_type=None, code_response_type=None): """Creates a new OIDC provider config from the given parameters.""" _validate_oidc_provider_id(provider_id) req = { 'clientId': _validate_non_empty_string(client_id, 'client_id'), 'issuer': _validate_url(issuer, 'issuer'), } if display_name is not None: req['displayName'] = _auth_utils.validate_string( display_name, 'display_name') if enabled is not None: req['enabled'] = _auth_utils.validate_boolean(enabled, 'enabled') response_type = {} if id_token_response_type is False and code_response_type is False: raise ValueError('At least one response type must be returned.') if id_token_response_type is not None: response_type['idToken'] = _auth_utils.validate_boolean( id_token_response_type, 'id_token_response_type') if code_response_type is not None: response_type['code'] = _auth_utils.validate_boolean( code_response_type, 'code_response_type') if code_response_type: req['clientSecret'] = _validate_non_empty_string( client_secret, 'client_secret') if response_type: req['responseType'] = response_type params = 'oauthIdpConfigId={0}'.format(provider_id) body = self._make_request('post', '/oauthIdpConfigs', json=req, params=params) return OIDCProviderConfig(body)
def create_saml_provider_config(self, provider_id, idp_entity_id, sso_url, x509_certificates, rp_entity_id, callback_url, display_name=None, enabled=None): """Creates a new SAML provider config from the given parameters.""" _validate_saml_provider_id(provider_id) req = { 'idpConfig': { 'idpEntityId': _validate_non_empty_string(idp_entity_id, 'idp_entity_id'), 'ssoUrl': _validate_url(sso_url, 'sso_url'), 'idpCertificates': _validate_x509_certificates(x509_certificates), }, 'spConfig': { 'spEntityId': _validate_non_empty_string(rp_entity_id, 'rp_entity_id'), 'callbackUri': _validate_url(callback_url, 'callback_url'), }, } if display_name is not None: req['displayName'] = _auth_utils.validate_string( display_name, 'display_name') if enabled is not None: req['enabled'] = _auth_utils.validate_boolean(enabled, 'enabled') params = 'inboundSamlConfigId={0}'.format(provider_id) body = self._make_request('post', '/inboundSamlConfigs', json=req, params=params) return SAMLProviderConfig(body)