Error compiling template "Designs/Swift/QueryPublisher/UsersLogInPage.cshtml"
Line 14: The type or namespace name 'WebAPI' does not exist in the namespace 'Dynamicweb.Ecommerce' (are you missing an assembly reference?)
Line 15: The type or namespace name 'Rapido' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 16: The type or namespace name 'Rapido' does not exist in the namespace 'Dynamicweb' (are you missing an assembly reference?)
Line 82: The type or namespace name 'LogOnHandler' does not exist in the namespace 'Dynamicweb.Frontend' (are you missing an assembly reference?)
Line 88: The type or namespace name 'LogOnHandler' does not exist in the namespace 'Dynamicweb.Frontend' (are you missing an assembly reference?)
Line 66: The variable 'redirectToUrl' is assigned but its value is never used
1 // <auto-generated/>
2 #pragma warning disable 1591
3 namespace CompiledRazorTemplates.Dynamic
4 {
5 #line hidden
6 using System.Threading.Tasks;
7 using System;
8 using System.Collections.Generic;
9 using Dynamicweb;
10 using Dynamicweb.Rendering;
11 using Dynamicweb.Ecommerce.Frontend;
12 using Dynamicweb.Frontend;
13 using Dynamicweb.Ecommerce.ProductCatalog;
14 using Dynamicweb.Ecommerce.WebAPI.Controllers;
15 using Dynamicweb.Rapido.Blocks;
16 using Dynamicweb.Rapido.Blocks.Components.General;
17 using System.Linq;
18 using System.Text.RegularExpressions;
19 using System.Web;
20 using Dynamicweb.Logging;
21 internal class RazorEngine_1d565fc66fed49cfb6c2f54211098d58 : Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
22 {
23 #pragma warning disable 1998
24 public async override global::System.Threading.Tasks.Task ExecuteAsync()
25 {
26 WriteLiteral("\r\n");
27 WriteLiteral("\r\n");
28
29 var queryItems = GetLoop("QueryResultItem");
30 string userName = null;
31 string userPasswordEncrypted = null;
32 string userPwToken = null;
33 string hookUrl = null;
34 var logger = LogManager.Current.GetLogger("Punchout");
35 logger.Log(LogLevel.Information, "Request Url: " + Dynamicweb.Context.Current.Request.Url.ToString() + " Form Keys used: " + string.Join("; ", Dynamicweb.Context.Current.Request.Form.AllKeys));
36
37
38 if (Dynamicweb.Context.Current.Request.Form.AllKeys.Select(x => x.ToUpper()).Contains("USERNAME"))
39 {
40 userName = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form["USERNAME"]) ? Dynamicweb.Context.Current.Request.Form["USERNAME"] : "";
41
42 userPasswordEncrypted = Dynamicweb.Context.Current.Request.Form["PASSWORD"];
43 userPwToken = Dynamicweb.Context.Current.Request.Form["userPwToken"];
44 hookUrl = Dynamicweb.Context.Current.Request.Form["HOOK_URL"];
45
46 /*var cookieOptions = new CookieOptions
47 {
48 Expires = DateTime.Now.AddYears(1),
49 };
50
51 HttpContext.Response.Cookies.Append("hookUrl", hookUrl, cookieOptions);*/
52 }
53 else if(!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("USERNAME")))
54 {
55 userName = Dynamicweb.Context.Current.Request.QueryString.Get("USERNAME");
56 userPasswordEncrypted = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("PASSWORD")) ? Dynamicweb.Context.Current.Request.QueryString.Get("PASSWORD") : "";
57 // userPwToken =!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("password")) ? Dynamicweb.Context.Current.Request.QueryString.Get("password") : "";
58 hookUrl = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("HOOK_URL")) ? Dynamicweb.Context.Current.Request.QueryString.Get("HOOK_URL") : "";
59 }
60
61 logger.Log(LogLevel.Information, "Before SignIn - Punchout User: " + userName + " HookUrl: " + hookUrl);
62 var passToken = "";
63 bool canImpersonate = false;
64 var pageId = "";
65 string website = "";
66 bool redirectToUrl = false;
67 string pageUrl = "";
68
69 if (userName != null && userName != "")
70 {
71
72 foreach (var result in queryItems)
73 {
74 if (userName == result.GetString("UserName") && userPasswordEncrypted == result.GetString("UserPassword") )
75 {
76 logger.Log(LogLevel.Information, "Signed In - Punchout User: " + userName + " HookUrl: " + hookUrl);
77
78 WriteLiteral(" <div class=\"w-100 h-100 d-flex justify-content-center align-items-center flex-column gap-4\">\r\n <span class=\"spinner-border\"></span>\r\n <h1>");
79 Write(Translate("Logging you in..."));
80 WriteLiteral("</h1>\r\n </div>\r\n");
81 redirectToUrl = true;
82 passToken = Dynamicweb.Frontend.LogOnHandler.GetLoginToken(result.GetString("UserName"), result.GetString("UserPassword"));
83 canImpersonate = result.GetString("CanImpersonate") != "";
84 pageId = canImpersonate ? GetPageIdByNavigationTag("ManageCustomers").ToString() : GetPageIdByNavigationTag("Shop").ToString();
85 website = Dynamicweb.Context.Current.Request.Url.Scheme + "://" + GetGlobalValue("Global:Request.Host");
86 pageUrl = website + "/Default.aspx?Id=" + pageId;
87 //pageUrl = pageUrl + "&username=" + result.GetString("UserName") + "&pwtoken=" + passToken;
88 var security = new Dynamicweb.Frontend.LogOnHandler();
89 security.LogOnWithToken(result.GetString("UserName"), passToken);
90 WriteLiteral(" <input type=\"hidden\" id=\"hookUrl\"");
91 BeginWriteAttribute("value", " value=\"", 4939, "\"", 4955, 1);
92 WriteAttributeValue("", 4947, hookUrl, 4947, 8, false);
93 EndWriteAttribute();
94 WriteLiteral(@"/>
95 <script type=""text/javascript"">
96 var hookUrl = document.getElementById(""hookUrl"").value;
97 document.cookie = ""hookUrl="" + hookUrl + "";max-age="" + 60 * 60 * 24 * 365;
98 window.location.href = """);
99 Write(pageUrl);
100 WriteLiteral("\"; \r\n </script> \r\n");
101 }
102 }
103 }
104 else
105 {
106 WriteLiteral(" <div class=\"w-100 h-100 d-flex justify-content-center align-items-center flex-column gap-4\">\r\n <h1 class=\"text-danger\">");
107 Write(Translate("User not found"));
108 WriteLiteral("</h1>\r\n </div>\r\n");
109
110 }
111 WriteLiteral(" \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n");
112 }
113 #pragma warning restore 1998
114 }
115 }
116 #pragma warning restore 1591
117
1 @inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>>
2 @using Dynamicweb
3 @using Dynamicweb.Rendering
4 @using Dynamicweb.Ecommerce.Frontend
5 @using Dynamicweb.Frontend
6 @using Dynamicweb.Ecommerce.ProductCatalog
7 @using Dynamicweb.Ecommerce.WebAPI.Controllers
8 @using Dynamicweb.Rapido.Blocks
9 @using Dynamicweb.Rapido.Blocks.Components.General
10 @using System.Linq
11 @using System.Text.RegularExpressions;
12 @using System.Web;
13 @using Dynamicweb.Logging;
14
15 @*<form id="myForm" action="@Dynamicweb.Context.Current.Request.Url.AbsoluteUri" method="post">
16 <input type="text" name="userName" />
17 <input type="text" name="userPasswordEncrypted" />
18 <input type="text" name="userPwToken" />
19 <button type="submit">Submit</button>
20 </form>*@
21
22 @{
23 var queryItems = GetLoop("QueryResultItem");
24 string userName = null;
25 string userPasswordEncrypted = null;
26 string userPwToken = null;
27 string hookUrl = null;
28 var logger = LogManager.Current.GetLogger("Punchout");
29 logger.Log(LogLevel.Information, "Request Url: " + Dynamicweb.Context.Current.Request.Url.ToString() + " Form Keys used: " + string.Join("; ", Dynamicweb.Context.Current.Request.Form.AllKeys));
30 @* logger.Log(LogLevel.Information, "Request Form Keys used: " + string.Join("; ", Dynamicweb.Context.Current.Request.Form.AllKeys)); *@
31
32 if (Dynamicweb.Context.Current.Request.Form.AllKeys.Select(x => x.ToUpper()).Contains("USERNAME"))
33 {
34 userName = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.Form["USERNAME"]) ? Dynamicweb.Context.Current.Request.Form["USERNAME"] : "";
35
36 userPasswordEncrypted = Dynamicweb.Context.Current.Request.Form["PASSWORD"];
37 userPwToken = Dynamicweb.Context.Current.Request.Form["userPwToken"];
38 hookUrl = Dynamicweb.Context.Current.Request.Form["HOOK_URL"];
39
40 /*var cookieOptions = new CookieOptions
41 {
42 Expires = DateTime.Now.AddYears(1),
43 };
44
45 HttpContext.Response.Cookies.Append("hookUrl", hookUrl, cookieOptions);*/
46 }
47 else if(!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("USERNAME")))
48 {
49 userName = Dynamicweb.Context.Current.Request.QueryString.Get("USERNAME");
50 userPasswordEncrypted = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("PASSWORD")) ? Dynamicweb.Context.Current.Request.QueryString.Get("PASSWORD") : "";
51 // userPwToken =!string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("password")) ? Dynamicweb.Context.Current.Request.QueryString.Get("password") : "";
52 hookUrl = !string.IsNullOrEmpty(Dynamicweb.Context.Current.Request.QueryString.Get("HOOK_URL")) ? Dynamicweb.Context.Current.Request.QueryString.Get("HOOK_URL") : "";
53 }
54
55 logger.Log(LogLevel.Information, "Before SignIn - Punchout User: " + userName + " HookUrl: " + hookUrl);
56 var passToken = "";
57 bool canImpersonate = false;
58 var pageId = "";
59 string website = "";
60 bool redirectToUrl = false;
61 string pageUrl = "";
62 @*<h1>@userName userName</h1>
63 <h1>@userPasswordEncrypted userPasswordEncrypted</h1>
64 <h1>@hookUrl hookUrl</h1>*@
65 if (userName != null && userName != "")
66 {
67
68 foreach (var result in queryItems)
69 {
70 if (userName == result.GetString("UserName") && userPasswordEncrypted == result.GetString("UserPassword")@* && userPwToken == Dynamicweb.Frontend.LogOnHandler.GetLoginToken(result.GetString("UserName"), result.GetString("UserPassword"))*@)
71 {
72 logger.Log(LogLevel.Information, "Signed In - Punchout User: " + userName + " HookUrl: " + hookUrl);
73
74 <div class="w-100 h-100 d-flex justify-content-center align-items-center flex-column gap-4">
75 <span class="spinner-border"></span>
76 <h1>@Translate("Logging you in...")</h1>
77 </div>
78 redirectToUrl = true;
79 passToken = Dynamicweb.Frontend.LogOnHandler.GetLoginToken(result.GetString("UserName"), result.GetString("UserPassword"));
80 canImpersonate = result.GetString("CanImpersonate") != "";
81 pageId = canImpersonate ? GetPageIdByNavigationTag("ManageCustomers").ToString() : GetPageIdByNavigationTag("Shop").ToString();
82 website = Dynamicweb.Context.Current.Request.Url.Scheme + "://" + GetGlobalValue("Global:Request.Host");
83 pageUrl = website + "/Default.aspx?Id=" + pageId;
84 //pageUrl = pageUrl + "&username=" + result.GetString("UserName") + "&pwtoken=" + passToken;
85 var security = new Dynamicweb.Frontend.LogOnHandler();
86 security.LogOnWithToken(result.GetString("UserName"), passToken);
87 <input type="hidden" id="hookUrl" value="@hookUrl"/>
88 <script type="text/javascript">
89 var hookUrl = document.getElementById("hookUrl").value;
90 document.cookie = "hookUrl=" + hookUrl + ";max-age=" + 60 * 60 * 24 * 365;
91 window.location.href = "@pageUrl";
92 </script>
93 }
94 }
95 }
96 else
97 {
98 <div class="w-100 h-100 d-flex justify-content-center align-items-center flex-column gap-4">
99 <h1 class="text-danger">@Translate("User not found")</h1>
100 </div>
101
102 }
103 }
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128