【问题标题】:I want to send encrypted password and decrypted password from react js to WSO2 IS 5.9.0?我想将加密密码和解密密码从反应 js 发送到 WSO2 IS 5.9.0?
【发布时间】:2020-02-19 13:20:05
【问题描述】:

我使用 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 端解密密码。 我该如何执行这个.....?

【问题讨论】:

    标签: oauth-2.0 wso2 wso2-am wso2is wso2carbon


    【解决方案1】:

    根据 OAuth spec,只有在客户端和服务器之间存在信任时才能使用密码授权。

    规范如下:

    资源所有者密码凭据(即用户名和密码) 可以直接用作授权授予来获取访问权限
    令牌。仅当存在高
    资源所有者和客户之间的信任程度(例如,
    客户端是设备操作系统的一部分或具有高度特权的
    应用程序),并且当其他授权授予类型不是时
    可用(例如授权码)。

    因此不建议在浏览器客户端中使用密码授权流程。

    【讨论】:

    【解决方案2】:

    无法将密码以加密形式发送到 WSO2 IS 并在 WSO2-IS 端解密。从外观上看,您使用的是 OAuth2 密码授权,在这里您必须将密码发送回服务器,就像用户输入密码一样。鉴于您使用的是安全连接 (https),​​您实际上不需要在前端对其进行加密。

    但是,强烈建议不要使用密码授权,您应该考虑使用authorization code grant。您可以参考 OAuth 社区的 [draft]OAuth 2.0 for Browser-Based Apps 了解一些最佳实践。

    【讨论】:

      猜你喜欢
      • 2012-10-03
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2020-11-10
      • 1970-01-01
      相关资源
      最近更新 更多