Skip to content

Commit 13ed785

Browse files
Ticket #885 : Fix "reset password"
Fix the URL generated by "ResetController"
1 parent 6b1d50d commit 13ed785

3 files changed

Lines changed: 15 additions & 3 deletions

File tree

formbuilder/FormBuilder/Extensions/HttpRequestExtensions.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,13 @@ public static string GetAbsoluteUriWithVirtualPath(this HttpRequest requestMessa
1313
var relativePath = requestMessage.PathBase.Value;
1414
return http + host + relativePath;
1515
}
16+
17+
public static string GetAbsoluteUri(this HttpRequest requestMessage)
18+
{
19+
var host = requestMessage.Host.Value;
20+
var http = "http://";
21+
if (requestMessage.IsHttps) http = "https://";
22+
return http + host;
23+
}
1624
}
1725
}

formbuilder/FormBuilder/UIs/BaseWorkflowController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ protected async Task<WorkflowViewModel> Get(string realm, string workflowId, str
3434
var tokenSet = _antiforgery.GetAndStoreTokens(HttpContext);
3535
return new WorkflowViewModel
3636
{
37-
CurrentStepId= step.Id,
37+
CurrentStepId = step.Id,
3838
Workflow = workflow,
3939
Template = template,
4040
AntiforgeryToken = new AntiforgeryTokenRecord

src/IdServer/SimpleIdServer.IdServer.Pwd/UI/ResetController.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
using FormBuilder;
55
using FormBuilder.Builders;
6+
using FormBuilder.Helpers;
67
using FormBuilder.Models;
78
using FormBuilder.Repositories;
89
using FormBuilder.Stores;
@@ -45,6 +46,7 @@ public class ResetController : BaseController
4546
private readonly IRealmStore _realmStore;
4647
private readonly ITemplateStore _templateStore;
4748
private readonly IWorkflowHelper _workflowHelper;
49+
private readonly IWorkflowLinkHelper _workflowLinkHelper;
4850
private readonly ILogger<ResetController> _logger;
4951
private readonly FormBuilderOptions _formBuilderOptions;
5052

@@ -65,6 +67,7 @@ public ResetController(
6567
IRealmStore realmStore,
6668
ITemplateStore templateStore,
6769
IWorkflowHelper workflowHelper,
70+
IWorkflowLinkHelper workflowLinkHelper,
6871
ILogger<ResetController> logger,
6972
IOptions<FormBuilderOptions> formBuilderOptions) : base(tokenRepository, jwtBuilder)
7073
{
@@ -82,6 +85,7 @@ public ResetController(
8285
_realmStore = realmStore;
8386
_templateStore = templateStore;
8487
_workflowHelper = workflowHelper;
88+
_workflowLinkHelper = workflowLinkHelper;
8589
_logger = logger;
8690
_formBuilderOptions = formBuilderOptions.Value;
8791
}
@@ -113,7 +117,7 @@ public async Task<IActionResult> Index([FromRoute] string prefix, [FromQuery] Re
113117
};
114118
var result = await BuildWorkflowViewModel(prefix, vm, cancellationToken);
115119
result.SetInput(viewModel);
116-
result.CurrentStepId = _workflowHelper.GetNextAmr(null, result, vm);
120+
result.CurrentStepId = _workflowLinkHelper.ResolveNextStep(null, result.Workflow, vm.CurrentLink);
117121
return View(result);
118122
}
119123

@@ -164,7 +168,7 @@ public async Task<IActionResult> Index([FromRoute] string prefix, ResetPasswordV
164168
{
165169
area = Constants.AreaPwd
166170
});
167-
var issuer = Request.GetAbsoluteUriWithVirtualPath();
171+
var issuer = Request.GetAbsoluteUri();
168172
var parameter = new ResetPasswordParameter(
169173
$"{issuer}{url}",
170174
user,

0 commit comments

Comments
 (0)