Я хочу отправить зашифрованный пароль и расшифрованный пароль из реакции js на WSO2 IS 5.9.0?

Я использую React JS в качестве интерфейса, и я хочу отправить зашифрованный пароль на WSO2 IS 5.9.0 при использовании

curl --location --request POST 'https://x.x.x.x/oauth2/token' \
--header 'Content-Type: text/plain' \
--header 'Authorization: Basic xxxx' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'username=xxxxxxxxx' \
--data-urlencode 'password=abc12345' \
--data-urlencode 'scope=openid'

Я хочу отправить пароль в зашифрованном виде и расшифровать пароль на конце WSO2 IS. Как мне это сделать .....?


person Aman Prakash    schedule 19.02.2020    source источник


Ответы (2)


Согласно спецификации OAuth, предоставление пароля можно использовать только при наличии это доверие между клиентом и сервером.

В спецификации сказано, как показано ниже:

Учетные данные пароля владельца ресурса (т. Е. Имя пользователя и пароль) могут использоваться непосредственно в качестве разрешения на авторизацию для получения маркера доступа
. Учетные данные следует использовать только при высоком уровне доверия
между владельцем ресурса и клиентом (например,
клиент является частью операционной системы устройства или приложения
с высокими привилегиями. ), и когда другие типы разрешений на авторизацию
недоступны (например, код авторизации).

Поэтому не рекомендуется использовать поток предоставления пароля в клиенте браузера.

person Piraveena Paralogarajah    schedule 19.02.2020
comment
Мам, как мне сделать это с безопасной передачей? - person Aman Prakash; 19.02.2020
comment
И как мне изменить мою технику, чтобы безопасно выполнять описанный выше вариант использования. - person Aman Prakash; 19.02.2020
comment
Для предоставления пароля пользователь должен ввести учетные данные в самом клиентском приложении. Таким образом, это небезопасно, если клиенту браузера не доверяет сервер. Таким образом, вы можете использовать другие типы грантов, такие как код авторизации или неявный, в зависимости от ваших требований. Пожалуйста, прочтите спецификацию, чтобы узнать больше о предоставлении кода авторизации и неявном предоставлении. tools.ietf.org/html/rfc6749#section-1.3.1 - person Piraveena Paralogarajah; 19.02.2020
comment
Вы можете подписаться на эти документы WSO2 IS is.docs.wso2. com / en / latest / learn / authorization-code-grant, is.docs.wso2.com/en/latest/learn/implicit-grant - person Piraveena Paralogarajah; 19.02.2020
comment
если вы используете приложение SPA, текущая арендная плата заключается в использовании типа разрешения на авторизацию с общедоступным клиентом в wso2. См. tools.ietf.org/html/ draft-ietf-oauth-security-themes-09 # page-5, чтобы узнать больше об уязвимостях неявного типа предоставления. - person Inthirakumaaran; 20.02.2020

Невозможно отправить пароль в зашифрованном виде в WSO2 IS и расшифровать его на стороне WSO2-IS. Судя по всему, вы используете OAuth2 Password Grant, здесь вам нужно будет отправить пароль обратно на сервер, точно так же, как пользователь ввел его. Учитывая, что вы используете защищенное соединение (https), вам на самом деле не нужно шифровать его во внешнем интерфейсе.

Однако настоятельно не рекомендуется использовать предоставление пароля, и вам следует изучить возможность использования предоставление кода авторизации. Вы можете обратиться к этому [черновик] OAuth 2.0 для браузера. Приложения сообщества OAuth для получения рекомендаций.

person Janak    schedule 13.03.2020