【问题标题】:Email Hyperlink with parameters is being made lowercase when consumed by Angular site (Query String)当 Angular 站点(查询字符串)使用时,带有参数的电子邮件超链接将变为小写
【发布时间】:2019-01-15 11:35:27
【问题描述】:

美好的一天。

我有一个使用 dotnetcore2 和 angular 的项目。 使用内置核心函数 (UserManager) 我创建了一个令牌:

GeneratePasswordResetTokenAsync()

然后我向用户发送邮件以点击链接以重置他/她的密码。

令牌在邮件中正确发送,并且超链接确实有正确大小写的令牌。

当我点击超链接时,我被定向到正确的页面,但是查询字符串中的所有内容都是小写的,即令牌是小写的。

有人对此有解决方案吗?

  1. 在 api 中制作的令牌示例。
  2. 通过邮件发送时的令牌样本(邮件中的超链接)
  3. 通过单击电子邮件超链接打开页面时查询字符串中的令牌示例
    1. “77BqHb51n2P”
    2. “77BqHb51n2P”
    3. “77bqhb51n2p”

【问题讨论】:

  • 发送邮件的方法中是否有navigateUrl?
  • 嗨,不,我在邮件正文中建立了链接:"please follow this <a href=" + Url + "?token=" + token>link</a>."嗨,链接网址是:"http://localhost:77777/resetaccount?token=77BqHb5"

标签: angular .net-core token query-string


【解决方案1】:

发现问题:

在 App.Component.ts 中

注释掉这个:

this.router.events.subscribe(event => {
    if (event instanceof NavigationStart) {
        let url = (<NavigationStart>event).url;

        if (url !== url.toLowerCase()) {
            this.router.navigateByUrl((<NavigationStart>event).url.toLowerCase());
        }
    }
});

现在我只需要确保我的所有服务和路线都是正确的,因为没有上面的外壳现在到处都是问题。

【讨论】:

    猜你喜欢
    • 2018-02-15
    • 1970-01-01
    • 2016-12-06
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多