Skip to content

Instantly share code, notes, and snippets.

@jkhaui
Created September 3, 2020 00:43
Show Gist options
  • Save jkhaui/056dffd609bc25b8380585d5de88b436 to your computer and use it in GitHub Desktop.
Save jkhaui/056dffd609bc25b8380585d5de88b436 to your computer and use it in GitHub Desktop.

@using Microsoft.AspNetCore.Authentication;
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@model Pikcha.Services.Auth.Identity.API.Models.AccountViewModels.AuthenticationViewModel
@{
var returnUrl = ViewData["ReturnUrl"];
var externalLoigns = (IList<AuthenticationScheme>)ViewData["ExternalLogins"];
var page = ViewData["Page"] ?? "register";
//you can use switch case if you want
//otherwise remove it
@if(page.Equals("setNewPasswordPage"))
{
<!--Set New Password start, as part of forgot password-->
<div>
<h1>
Set New Password
</h1>
<div class="container register-container">
<form class="form-horizontal" method="post" asp-controller="SPA" asp-action="setnewpassword" asp-route-returnurl="@ViewData["ReturnUrl"]">
<input type="hidden" asp-for="Token" name="Token" value="@ViewData["Token"]">
<input type="hidden" asp-for="UserId" name="UserId" value="@ViewData["UserId"]">
<div class="form-group">
<label asp-for="Email" class="col-sm-2 control-label">New Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" asp-for="Password" name="Password">
</div>
</div>
<div class="form-group">
<label asp-for="ConfirmPassword" class="col-sm-2 control-label">ConfirmPassword</label>
<div class="col-sm-10">
<input type="password" class="form-control" asp-for="ConfirmPassword" name="ConfirmPassword">
</div>
</div>
<br />
<br />
<br />
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Set New Password</button>
</div>
</div>
</form>
</div>
</div>
<!--Set New Password end-->
}
else
{
<!--register start-->
<div>
<h1>Register</h1>
<div class="container">
@{
if (externalLoigns.Count == 0)
{
<h3>No external login configured.</h3>
}
else
{
<form class="form-horizontal" method="post" asp-controller="Account" asp-action="ExternalLogin" asp-route-returnurl="@ViewData["ReturnUrl"]">
<div>
<input type="hidden" asp-for="returnUrl" name="returnUrl" value="@ViewData["ReturnUrl"]">
@if ((externalLoigns.Where(l => l.Name == "Google").Count() > 0))
{
<button type="submit" asp-for="provider"
class="btn btn-primary _4b83"
name="provider" value="Google" title="Sign up with your Google account">
<img class="_ec8a"
height="24"
width="24"
src="~/img/google-logo.svg" />
<div class="_6n0en _93v8f"> Sign up with Google</div>
</button>
}
@if ((externalLoigns.Where(l => l.Name == "Facebook").Count() > 0))
{
<button type="submit" asp-for="provider"
class="btn btn-primary _3eae"
name="provider" value="Facebook" title="Sign up with your Facebook account">
<img class="_1303"
height="32"
width="32"
src="~/img/facebook-logo.svg" />
<div class="_0ce0">
Sign up with Facebook
</div>
</button>
}
</div>
</form>
}
}
</div>
<div class="container register-container">
<form asp-controller="SPA" asp-action="Register" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal">
<h4 class="order-create-section-title">CREATE NEW ACCOUNT</h4>
<div class="row">
<div class="form-group col-sm-6">
<label asp-for="FName" class="control-label form-label">First NAME</label>
<input asp-for="FName" class="form-control form-input" />
</div>
<div class="form-group col-sm-6">
<label asp-for="LName" class="control-label form-label">Last NAME</label>
<input asp-for="LName" class="form-control form-input" />
</div>
</div>
<br /><br />
<div class="row">
<div class="form-group col-sm-6">
<label asp-for="Email" class="control-label form-label"></label>
<input asp-for="Email" class="form-control form-input" />
</div>
<div class="form-group col-sm-offset-6"></div>
<div class="form-group col-sm-6">
<label asp-for="Password" class="control-label form-label"></label>
<input asp-for="Password" class="form-control form-input" />
</div>
<div class="form-group col-sm-6">
<label asp-for="ConfirmPassword" class="control-label form-label"></label>
<input asp-for="ConfirmPassword" class="form-control form-input" />
</div>
</div>
<br /><br />
<div class="form-group">
<button type="submit" class="btn btn-default btn-brand">&nbsp;Register&nbsp;</button>
</div>
<br /><br />
</form>
</div>
</div>
<!--register end-->
<!--Login start-->
<div>
<h1>Login</h1>
<div class="container">
@{
if (externalLoigns.Count == 0)
{
<h3>No external login configured.</h3>
}
else
{
<form class="form-horizontal" method="post" asp-controller="Account" asp-action="ExternalLogin" asp-route-returnurl="@ViewData["ReturnUrl"]">
<div>
<input type="hidden" asp-for="returnUrl" name="returnUrl" value="@ViewData["ReturnUrl"]">
@if ((externalLoigns.Where(l => l.Name == "Google").Count() > 0))
{
<button type="submit" asp-for="provider"
class="btn btn-primary _4b83"
name="provider" value="Google" title="Sign up with your Google account">
<img class="_ec8a"
height="24"
width="24"
src="~/img/google-logo.svg" />
<div class="_6n0en _93v8f"> Sign up with Google</div>
</button>
}
@if ((externalLoigns.Where(l => l.Name == "Facebook").Count() > 0))
{
<button type="submit" asp-for="provider"
class="btn btn-primary _3eae"
name="provider" value="Facebook" title="Sign up with your Facebook account">
<img class="_1303"
height="32"
width="32"
src="~/img/facebook-logo.svg" />
<div class="_0ce0">
Sign up with Facebook
</div>
</button>
}
</div>
</form>
}
}
</div>
<div class="container register-container">
<form class="form-horizontal" method="post" asp-controller="SPA" asp-action="Login" asp-route-returnurl="@ViewData["ReturnUrl"]">
<div class="form-group">
<label asp-for="Email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="text" class="form-control" asp-for="Email" name="Email">
</div>
</div>
<div class="form-group">
<label asp-for="Password" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="text" class="form-control" asp-for="Password" name="Password">
</div>
</div>
<div class="form-group">
<label asp-for="RememberMe" class="col-sm-2 control-label">Remember Me?</label>
<div class="col-sm-10">
<input type="checkbox" class="form-control" asp-for="RememberMe" name="RememberMe" value="true" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Login</button>
</div>
</div>
</form>
</div>
</div>
<!--Login end-->
<!--Forgot password start-->
<div>
<h1>Forgot password</h1>
<div class="container register-container">
<form class="form-horizontal" method="post" asp-controller="SPA" asp-action="forgotpassword" asp-route-returnurl="@ViewData["ReturnUrl"]">
<div class="form-group">
<label asp-for="Email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" asp-for="Email" name="Email">
</div>
</div>
<br />
<br />
<br />
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Send Reset Password link</button>
</div>
</div>
</form>
</div>
</div>
<!--Forgot password end-->
<!-- Change password start -->
<div>
<h1>
Change Password
</h1>
<div class="container register-container">
<form class="form-horizontal" method="post" asp-controller="SPA" asp-action="resetpassword" asp-route-returnurl="@ViewData["ReturnUrl"]">
<input type="hidden" asp-for="Token" name="Token" value="@ViewData["Token"]">
<input type="hidden" asp-for="UserId" name="UserId" value="@ViewData["UserId"]">
<div class="form-group">
<label asp-for="OldPassword" class="col-sm-2 control-label">Old Password</label>
<div class="col-sm-10">
<input type="OldPassword" class="form-control" asp-for="OldPassword" name="OldPassword">
</div>
</div>
<div class="form-group">
<label asp-for="Password" class="col-sm-2 control-label">New Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" asp-for="Password" name="Password">
</div>
</div>
<div class="form-group">
<label asp-for="ConfirmPassword" class="col-sm-2 control-label">ConfirmPassword</label>
<div class="col-sm-10">
<input type="password" class="form-control" asp-for="ConfirmPassword" name="ConfirmPassword">
</div>
</div>
<br />
<br />
<br />
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Set New Password</button>
</div>
</div>
</form>
</div>
</div>
<!-- Change password end -->
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment