Skip to content

Commit fc46949

Browse files
Ticket #890 : It is now possible to change the language, when an error occured during the authentication
1 parent ec62d54 commit fc46949

4 files changed

Lines changed: 20 additions & 6 deletions

File tree

formbuilder/FormBuilder/Models/FormRecord.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,19 @@ public override BaseVersionRecord NewDraft(DateTime currentDateTime)
109109
Status = RecordVersionStatus.Draft,
110110
Realm = Realm,
111111
VersionNumber = VersionNumber + 1,
112-
Elements = new ObservableCollection<IFormElementRecord>(clonedElements)
112+
Elements = new ObservableCollection<IFormElementRecord>(clonedElements),
113+
SuccessMessageTranslations = SuccessMessageTranslations?.Select(s => new FormMessageTranslation
114+
{
115+
Code = s.Code,
116+
Language = s.Language,
117+
Value = s.Value
118+
}).ToList() ?? new List<FormMessageTranslation>(),
119+
ErrorMessageTranslations = ErrorMessageTranslations?.Select(s => new FormMessageTranslation
120+
{
121+
Code = s.Code,
122+
Language = s.Language,
123+
Value = s.Value
124+
}).ToList() ?? new List<FormMessageTranslation>()
113125
};
114126
}
115127

src/IdServer/SimpleIdServer.IdServer.Pwd/PwdAuthWorkflowLayout.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,15 @@ public WorkflowLayout Get()
5555
{
5656
Method = HttpMethods.POST,
5757
IsAntiforgeryEnabled = true,
58-
Target = "/{realm}/pwd/Authenticate",
58+
Target = "/{realm}/pwd/Authenticate?returnUrl={returnUrl}",
5959
Transformers = new List<ITransformerParameters>
6060
{
6161
new RegexTransformerParameters()
6262
{
6363
Rules = new ObservableCollection<MappingRule>
6464
{
65-
new MappingRule { Source = "$.Realm", Target = "realm" }
65+
new MappingRule { Source = "$.Realm", Target = "realm" },
66+
new MappingRule { Source = "$.ReturnUrl", Target = "returnUrl" }
6667
}
6768
},
6869
new RelativeUrlTransformerParameters()

src/IdServer/SimpleIdServer.IdServer.Pwd/StandardPwdAuthWorkflows.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,15 @@ public static WorkflowBuilder AddPwdAuth(this WorkflowBuilder builder, FormRecor
5151
{
5252
Method = HttpMethods.POST,
5353
IsAntiforgeryEnabled = true,
54-
Target = "/{realm}/pwd/Authenticate",
54+
Target = "/{realm}/pwd/Authenticate?returnUrl={returnUrl}",
5555
Transformers = new List<ITransformerParameters>
5656
{
5757
new RegexTransformerParameters()
5858
{
5959
Rules = new ObservableCollection<MappingRule>
6060
{
61-
new MappingRule { Source = "$.Realm", Target = "realm" }
61+
new MappingRule { Source = "$.Realm", Target = "realm" },
62+
new MappingRule { Source = "$.ReturnUrl", Target = "returnUrl" }
6263
}
6364
},
6465
new RelativeUrlTransformerParameters()

src/IdServer/SimpleIdServer.IdServer/UI/BaseAuthenticateController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ protected bool IsProtected(string returnUrl)
124124

125125
protected string GetClientId(string returnUrl)
126126
{
127-
if(string.IsNullOrWhiteSpace(returnUrl) || IsProtected(returnUrl))
127+
if(string.IsNullOrWhiteSpace(returnUrl) || !IsProtected(returnUrl))
128128
{
129129
return null;
130130
}

0 commit comments

Comments
 (0)