如何将JSON对象作为JWT发送到重定向页面?

时间:2019-04-24 14:00:11

标签: typescript angular6 jwt

我正在尝试将JSON对象从我的应用程序发送到另一个网页。例如:将UserId发送到B2C页面进行处理。在用户在B2C页面中执行某些操作并且响应为令牌之前,B2C页面将不会返回任何响应。问题是如何安全地将UserId发送到另一个页面?

我已经尝试过-this.router.navigate方法

this.router.navigate([url], {
      queryParams: { extension_globalid : action.payload }
    })

我希望将参数附加到网址中。但它没有。我也不希望它出现在网址上

1 个答案:

答案 0 :(得分:0)

诸如OAUth2和OpenID Connect之类的某些协议允许您使用3种方法将令牌从一个站点(授权端点)传递到另一个站点(客户端回调端点):

  • 响应将重定向到客户端回调(通常为HTTP代码302或308)。数据设置为添加到回调URL中的 query 参数
HTTP/1.1 302 Found
Location: https://client.com/callback?UserId=FOO.bar
  • 响应将重定向到客户端回调(通常为HTTP代码302或308)。数据设置为添加到回调URL中的片段参数
HTTP/1.1 302 Found
Location: https://client.com/callback#UserId=FOO.bar
  • 响应显示带有隐藏参数的for和要发送的数据。可以使用JS自动提交表单,也可以邀请用户单击按钮。
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Cache-Control: no-cache, no-store
Pragma: no-cache

<html>
  <head><title>Submit This Form</title></head>
  <body onload="javascript:document.forms[0].submit()">
    <form method="post" action="https://client.com/callback">
      <input type="hidden" name="UerId"value="FOO.bar"/>
      <input type="submit" value="Please click here!">
    </form>
  </body>
</html>