我们正在创建一个独立的Angular网页来进行密码维护,将从所有具有登录名的外部应用程序中调用该网页。更改密码时,我们希望通过用户登录名来预先填充更改密码表单上的字段。我们还希望传递一个URL,以在完成后返回。除了将值添加到URL(作为路由参数或查询参数)之外,是否可以将这些值传递给Angular应用?我们希望这些值没有出现在URL中。
考虑过表单,但认为不会起作用,因为它们是为客户端应用程序将数据发布到服务器而设计的-不是针对客户端应用程序接收数据的-不认为Angular可以检查活动路线用于表单数据。
经过一些研究,将输入参数从一个Angular UI应用程序传递到HTTP请求正文中的另一个参数的想法不切实际,尤其是如果您想通过第一个应用程序中显示的简单锚链接来这样做。仍然我们不希望参数赤裸裸地显示在URL中,因此我们想到的是调用应用程序将参数嵌入JSON字符串中,然后使用btoa()将JSON字符串编码为Base64。然后,我们将其作为查询字符串参数传递,例如:http://....?Data=ksldjoisdosidfjsdf ...被调用的应用程序仅获取单个查询字符串参数,并逆向处理以提供包含所有传递参数的对象。
请注意,这实际上只是为了外观,而不是加密。由于用户可以使用普通的开发工具访问浏览器中发生的任何事情,因此尝试加密将不会被浏览器解密的数据将非常困难。