重置令牌参数导致404

时间:2019-06-26 18:38:52

标签: reactjs react-router asp.net-identity http-status-code-404

我正在使用reactjs + react router + iis

我正在尝试重置密码,以便我的网址看起来像

https://www.example.com/forgotPassword/CfDJ8BocAWQJpDVCswirwjHYLWRCG6zZTSxopJgdO3DDm4aO3g3PDFOjmENf6aTbq4qNUF6lMQuOot%2f1e1xZYdkM%2fV9%2bvatM6UBYNBJsZRBuiNnvnX2dPnMv8ANqg56Q2jaCXfVvW4Q%2fwGDDud28NJsFPQIBcb%2bsTnnu%2f22qwfEODpXk4e1BB8VdJWXwzEy8r1F9dq4iptdVEAf5thdUn4lMMpxsKW5r63QLCnn19GPhUcQA

在localhost上运行很好,在生产环境下我得到了404

如果我在生产中这样做

https://www.example.com/forgotPassword/1414

效果也很好。因此,我猜测这与令牌有关,我尝试对其进行url编码,因为这是一个问题。

我的路线

   <Route exact path="/forgotPassword/:token" component={ResetPasswordComponent} />

无论出于何种原因,令牌字符串中的某些内容(如果我将其缩短,它都可以工作)使它认为它是页面

enter image description here

修改

如果我这样做

CfDJ8BocAWQJpDVCswirwjHYLWRCG6zZTSxopJgdO3DDm4aO3g3PDFOjmENf6aTbq4qNUF6lMQuOot

页面加载,它不喜欢令牌中的%2。

修改

我正在使用MS身份库,并且正在使用UserManager中的此方法

userManager.GeneratePasswordResetTokenAsync(employee)

1 个答案:

答案 0 :(得分:0)

是的,您的令牌存在问题。这一次发生在我身上,当我使用base64encode创建令牌时,有一些/符号等给我404错误。

对于生成忘记密码令牌的最佳做法有一个答案,您可以参考this来更安全地生成令牌。

相关问题