Initial commit
This commit is contained in:
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
.vs
|
||||||
|
.vsCode
|
||||||
|
bin
|
||||||
|
obj
|
||||||
|
*.vssscc
|
||||||
|
*.vspscc
|
||||||
|
*.user
|
||||||
|
*.jfm
|
||||||
|
*.dbmdl
|
||||||
|
.DS_Store
|
||||||
|
launchSettings.json
|
||||||
|
*.tmp
|
||||||
40
Areas/console/Views/Authenticate/Index.cshtml
Normal file
40
Areas/console/Views/Authenticate/Index.cshtml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
1
Areas/console/Views/_ViewImports.cshtml
Normal file
1
Areas/console/Views/_ViewImports.cshtml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
132
Areas/mobile/Views/Authenticate/Index.cshtml
Normal file
132
Areas/mobile/Views/Authenticate/Index.cshtml
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@using System.Text.Json
|
||||||
|
@using System.Text.Json.Nodes
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
var makeAssertionsOptionsUrl = Url.Action("MakeAssertionOptions", "Authenticate", new { area = "mobile" });
|
||||||
|
var authenticateUrl = Url.Action("Index", "Authenticate", new { area = "mobile" });
|
||||||
|
var jsonObj = JsonSerializer.Deserialize<JsonObject>(Model.Input.ToString());
|
||||||
|
var beginLoginUrl = Model.Input["BeginLoginUrl"].ToString();
|
||||||
|
var loginStatusUrl = Model.Input["LoginStatusUrl"].ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script type="text/javascript">
|
||||||
|
let csharpReference;
|
||||||
|
var isInitialized = false;
|
||||||
|
var init = function() {
|
||||||
|
var beginLoginUrl = "@beginLoginUrl";
|
||||||
|
var loginStatusUrl = "@loginStatusUrl";
|
||||||
|
|
||||||
|
var displayError = function (errorJson) {
|
||||||
|
csharpReference.invokeMethodAsync("SetErrorMessage", errorJson["error_description"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var displayQRCode = function (img) {
|
||||||
|
$("#generateQrCodeForm").css("display", "none");
|
||||||
|
$("#qrCodeContainer").css("display", "");
|
||||||
|
$("#qrCodeContainer img").attr("src", img);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function checkStatus(sessionId) {
|
||||||
|
setTimeout(async function () {
|
||||||
|
let response = await fetch(loginStatusUrl + "/" + sessionId, {
|
||||||
|
method: 'GET'
|
||||||
|
});
|
||||||
|
if (!response.ok) {
|
||||||
|
let responseJson = await response.json();
|
||||||
|
displayError(responseJson);
|
||||||
|
await checkStatus(sessionId);
|
||||||
|
} else {
|
||||||
|
$("#generateQrCodeForm").unbind("submit");
|
||||||
|
$("#generateQrCodeForm input[name='Login']").removeAttr('disabled');
|
||||||
|
$("#generateQrCodeForm input[name='SessionId']").val(sessionId);
|
||||||
|
$("#generateQrCodeForm").trigger("submit");
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function makeAssertionOptions(form) {
|
||||||
|
let response = await fetch(beginLoginUrl, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({ login: form.Login, credential_type: 'mobile' }),
|
||||||
|
headers: {
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!response.ok) {
|
||||||
|
const json = await response.json();
|
||||||
|
displayError(json);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const sessionId = response.headers.get('SessionId');
|
||||||
|
const qrCode = response.headers.get('QRCode');
|
||||||
|
const blob = await response.blob();
|
||||||
|
const img = URL.createObjectURL(blob);
|
||||||
|
|
||||||
|
displayQRCode(img);
|
||||||
|
await checkStatus(sessionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
var tryListenForm = function () {
|
||||||
|
const elt = $("#generateQrCodeForm");
|
||||||
|
if (isInitialized === true) return;
|
||||||
|
if (elt.length === 0) {
|
||||||
|
setTimeout(() => tryListenForm(), 500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
isInitialized = true;
|
||||||
|
elt.submit(function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
makeAssertionOptions(convertFormToJSON($(e.target)));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
tryListenForm();
|
||||||
|
}
|
||||||
|
|
||||||
|
setCsharpReference = function (ref) {
|
||||||
|
csharpReference = ref;
|
||||||
|
init();
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
}
|
||||||
144
Areas/mobile/Views/Register/Index.cshtml
Normal file
144
Areas/mobile/Views/Register/Index.cshtml
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options;
|
||||||
|
@using SimpleIdServer.IdServer.Options;
|
||||||
|
@using System.Text.Json
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
var beginRegisterUrl = Model.Input["BeginRegisterUrl"].ToString();
|
||||||
|
var registerStatusUrl = Model.Input["RegisterStatusUrl"].ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script type="text/javascript">
|
||||||
|
let csharpReference;
|
||||||
|
|
||||||
|
var init = function() {
|
||||||
|
var beginRegisterUrl = "@beginRegisterUrl";
|
||||||
|
var registerStatusUrl = "@registerStatusUrl";
|
||||||
|
var isCreated = "IsCreated";
|
||||||
|
var isInitialized = false;
|
||||||
|
|
||||||
|
var displayError = function(errorJson) {
|
||||||
|
csharpReference.invokeMethodAsync("SetErrorMessage", errorJson["error_description"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var displaySuccessMessage = function () {
|
||||||
|
csharpReference.invokeMethodAsync("SetSuccessMessage", "User is created");
|
||||||
|
csharpReference.invokeMethodAsync("ClearErrorMessages");
|
||||||
|
csharpReference.invokeMethodAsync("SetInputData", isCreated, "true");
|
||||||
|
$("#generateQrCodeForm").attr("style", "display: none !important");
|
||||||
|
$("#qrCodeContainer").attr("style", "display: none !important");
|
||||||
|
}
|
||||||
|
|
||||||
|
var displayQRCode = function (img, qrCode) {
|
||||||
|
$("#generateQrCodeForm").attr("style", "display: none !important");
|
||||||
|
$("#qrCodeContainer").css("display", "");
|
||||||
|
$("#qrCodeContainer img").attr("src", img);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function checkStatus(sessionId, nextRegistrationRedirectUrl) {
|
||||||
|
setTimeout(async function(){
|
||||||
|
let response = await fetch(registerStatusUrl + "/" + sessionId, {
|
||||||
|
method: 'GET'
|
||||||
|
});
|
||||||
|
if (!response.ok) {
|
||||||
|
let responseJson = await response.json();
|
||||||
|
displayError(responseJson);
|
||||||
|
await checkStatus(sessionId, nextRegistrationRedirectUrl);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(nextRegistrationRedirectUrl) {
|
||||||
|
window.location.href = nextRegistrationRedirectUrl;
|
||||||
|
} else {
|
||||||
|
displaySuccessMessage();
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function makeCredential(login, displayName, form) {
|
||||||
|
let response = await fetch(beginRegisterUrl, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({ login: login, display_name: displayName, credential_type: 'mobile' }),
|
||||||
|
headers: {
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
let responseJson = await response.json();
|
||||||
|
displayError(responseJson);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const sessionId = response.headers.get('SessionId');
|
||||||
|
const qrCode = response.headers.get('QRCode');
|
||||||
|
let nextRegistrationRedirectUrl = response.headers.get('NextRegistrationRedirectUrl');
|
||||||
|
const blob = await response.blob();
|
||||||
|
const img = URL.createObjectURL(blob);
|
||||||
|
displayQRCode(img, qrCode);
|
||||||
|
await checkStatus(sessionId, nextRegistrationRedirectUrl);
|
||||||
|
};
|
||||||
|
|
||||||
|
var tryListenForm = function () {
|
||||||
|
const elt = $("#generateQrCodeForm");
|
||||||
|
if (isInitialized === true) return;
|
||||||
|
if (elt.length === 0) {
|
||||||
|
setTimeout(() => tryListenForm(), 500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
isInitialized = true;
|
||||||
|
elt.submit(function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var login = $("#generateQrCodeForm input[name='Login']").val();
|
||||||
|
var displayName = $("#generateQrCodeForm input[name='DisplayName']").val();
|
||||||
|
makeCredential(login, displayName, convertFormToJSON($(e.target)));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
tryListenForm();
|
||||||
|
};
|
||||||
|
|
||||||
|
setCsharpReference = function (ref) {
|
||||||
|
csharpReference = ref;
|
||||||
|
init();
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
}
|
||||||
1
Areas/mobile/Views/_ViewImports.cshtml
Normal file
1
Areas/mobile/Views/_ViewImports.cshtml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
40
Areas/otp/Views/Authenticate/Index.cshtml
Normal file
40
Areas/otp/Views/Authenticate/Index.cshtml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
1
Areas/otp/Views/_ViewImports.cshtml
Normal file
1
Areas/otp/Views/_ViewImports.cshtml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
40
Areas/pwd/Views/Authenticate/Index.cshtml
Normal file
40
Areas/pwd/Views/Authenticate/Index.cshtml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
40
Areas/pwd/Views/Register/Index.cshtml
Normal file
40
Areas/pwd/Views/Register/Index.cshtml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
40
Areas/pwd/Views/Reset/Confirm.cshtml
Normal file
40
Areas/pwd/Views/Reset/Confirm.cshtml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
40
Areas/pwd/Views/Reset/Index.cshtml
Normal file
40
Areas/pwd/Views/Reset/Index.cshtml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
1
Areas/pwd/Views/_ViewImports.cshtml
Normal file
1
Areas/pwd/Views/_ViewImports.cshtml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
40
Areas/sms/Views/Authenticate/Index.cshtml
Normal file
40
Areas/sms/Views/Authenticate/Index.cshtml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
40
Areas/sms/Views/Register/Index.cshtml
Normal file
40
Areas/sms/Views/Register/Index.cshtml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
1
Areas/sms/Views/_ViewImports.cshtml
Normal file
1
Areas/sms/Views/_ViewImports.cshtml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
154
Areas/vp/Views/Register/Index.cshtml
Normal file
154
Areas/vp/Views/Register/Index.cshtml
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options;
|
||||||
|
@using SimpleIdServer.IdServer.Options;
|
||||||
|
@using System.Text.Json
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
var qrCodeUrl = Model.Input["QrCodeUrl"].ToString();
|
||||||
|
var statusUrl = Model.Input["StatusUrl"].ToString();
|
||||||
|
var endRegisterUrl = Model.Input["EndRegisterUrl"].ToString();
|
||||||
|
var isCreated = Model.Input["IsCreated"].ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script type="text/javascript">
|
||||||
|
let csharpReference;
|
||||||
|
var isInitialized = false;
|
||||||
|
|
||||||
|
var init = function () {
|
||||||
|
var getQrCodeUrl = "@qrCodeUrl";
|
||||||
|
var statusUrl = "@statusUrl";
|
||||||
|
var endRegisterURL = "@endRegisterUrl";
|
||||||
|
var isCreated = "@isCreated";
|
||||||
|
|
||||||
|
var displayError = function (errorJson) {
|
||||||
|
csharpReference.invokeMethodAsync("SetErrorMessage", errorJson["error_description"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var viewQrCode = function (img) {
|
||||||
|
$("#generateQrCodeForm").attr("style", "display: none !important");
|
||||||
|
$("#qrCodeContainer").css("display", "");
|
||||||
|
$("#qrCodeContainer img").attr("src", img);
|
||||||
|
}
|
||||||
|
|
||||||
|
var displaySuccessMessage = function () {
|
||||||
|
csharpReference.invokeMethodAsync("SetSuccessMessage", "User is created");
|
||||||
|
csharpReference.invokeMethodAsync("ClearErrorMessages");
|
||||||
|
csharpReference.invokeMethodAsync("SetInputData", isCreated, "true");
|
||||||
|
$("#generateQrCodeForm").attr("style", "display: none !important");
|
||||||
|
$("#qrCodeContainer").attr("style", "display: none !important");
|
||||||
|
}
|
||||||
|
|
||||||
|
async function register(state) {
|
||||||
|
let response = await fetch(endRegisterURL, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({
|
||||||
|
state: state
|
||||||
|
}),
|
||||||
|
headers: {
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let responseJson = await response.json();
|
||||||
|
if (!responseJson.next_registration_url) {
|
||||||
|
displaySuccessMessage();
|
||||||
|
} else {
|
||||||
|
window.location.href = responseJson.next_registration_url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function checkStatus(state) {
|
||||||
|
setTimeout(async function () {
|
||||||
|
let response = await fetch(statusUrl + "/" + state, {
|
||||||
|
method: 'GET'
|
||||||
|
});
|
||||||
|
if (!response.ok) {
|
||||||
|
let responseJson = await response.json();
|
||||||
|
displayError(responseJson);
|
||||||
|
await checkStatus(state);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
register(state);
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function displayQrCode(id) {
|
||||||
|
let response = await fetch(getQrCodeUrl + "/" + id, {
|
||||||
|
method: 'GET'
|
||||||
|
});
|
||||||
|
if (!response.ok) {
|
||||||
|
const json = await response.json();
|
||||||
|
displayError(json);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const state = response.headers.get('state');
|
||||||
|
const blob = await response.blob();
|
||||||
|
const img = URL.createObjectURL(blob);
|
||||||
|
viewQrCode(img);
|
||||||
|
await checkStatus(state);
|
||||||
|
}
|
||||||
|
|
||||||
|
var tryListenForm = function () {
|
||||||
|
const elt = $(".vpRegister");
|
||||||
|
if (isInitialized === true) return;
|
||||||
|
if (elt.length === 0) {
|
||||||
|
setTimeout(() => tryListenForm(), 500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
isInitialized = true;
|
||||||
|
elt.submit(function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var id = $(e.target).serializeArray()[0].value;
|
||||||
|
displayQrCode(id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
tryListenForm();
|
||||||
|
}
|
||||||
|
|
||||||
|
setCsharpReference = function (ref) {
|
||||||
|
csharpReference = ref;
|
||||||
|
init();
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
}
|
||||||
1
Areas/vp/Views/_ViewImports.cshtml
Normal file
1
Areas/vp/Views/_ViewImports.cshtml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
166
Areas/webauthn/Views/Authenticate/Index.cshtml
Normal file
166
Areas/webauthn/Views/Authenticate/Index.cshtml
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@using System.Text.Json
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
var makeAssertionsOptionsUrl = Url.Action("MakeAssertionOptions", "Authenticate", new { area = "webauthn" });
|
||||||
|
var authenticateUrl = Url.Action("Index", "Authenticate", new { area = "webauthn" });
|
||||||
|
var beginLoginUrl = Model.Input["BeginLoginUrl"].ToString();
|
||||||
|
var endLoginUrl = Model.Input["EndLoginUrl"].ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script type="text/javascript">
|
||||||
|
let csharpReference;
|
||||||
|
|
||||||
|
var init = function () {
|
||||||
|
var beginLoginUrl = "@beginLoginUrl";
|
||||||
|
var endLoginUrl = "@endLoginUrl";
|
||||||
|
var makeAssertionsUrl = "@makeAssertionsOptionsUrl";
|
||||||
|
var authenticateUrl = "@authenticateUrl";
|
||||||
|
var isInitialized = false;
|
||||||
|
|
||||||
|
var toggleBtn = function (isDisabled) {
|
||||||
|
$("#fido2Auth button[type='submit']").attr('disabled', isDisabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
var displayError = function (errorJson) {
|
||||||
|
csharpReference.invokeMethodAsync("SetErrorMessage", errorJson["error_description"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var tryListenForm = function () {
|
||||||
|
const elt = $("#webauthForm");
|
||||||
|
if (isInitialized === true) return;
|
||||||
|
if (elt.length === 0) {
|
||||||
|
setTimeout(() => tryListenForm(), 500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
isInitialized = true;
|
||||||
|
elt.submit(function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
makeAssertionOptions(convertFormToJSON($(e.target)));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function makeAssertion(credential, form, sessionId) {
|
||||||
|
let authData = new Uint8Array(credential.response.authenticatorData);
|
||||||
|
let clientDataJSON = new Uint8Array(credential.response.clientDataJSON);
|
||||||
|
let rawId = new Uint8Array(credential.rawId);
|
||||||
|
let sig = new Uint8Array(credential.response.signature);
|
||||||
|
const assertion = {
|
||||||
|
id: credential.id,
|
||||||
|
rawId: coerceToBase64Url(rawId),
|
||||||
|
type: credential.type,
|
||||||
|
extensions: credential.getClientExtensionResults(),
|
||||||
|
response: {
|
||||||
|
authenticatorData: coerceToBase64Url(authData),
|
||||||
|
clientDataJSON: coerceToBase64Url(clientDataJSON),
|
||||||
|
signature: coerceToBase64Url(sig)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
let response = await fetch(endLoginUrl, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({ login: form.Login, session_id: sessionId, assertion: assertion }),
|
||||||
|
headers: {
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
const json = await response.json();
|
||||||
|
toggleBtn(false);
|
||||||
|
displayError(json);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$("#webauthForm").unbind("submit");
|
||||||
|
$("#webauthForm input[name='SessionId']").val(sessionId);
|
||||||
|
$("#webauthForm input[name='Login']").removeAttr('disabled');
|
||||||
|
$("#webauthForm").trigger("submit");
|
||||||
|
}
|
||||||
|
|
||||||
|
async function makeAssertionOptions(form) {
|
||||||
|
toggleBtn(true);
|
||||||
|
let response = await fetch(beginLoginUrl, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({ login: form.Login, credential_type: 'webauthn' }),
|
||||||
|
headers: {
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const json = await response.json();
|
||||||
|
if (!response.ok) {
|
||||||
|
toggleBtn(false);
|
||||||
|
displayError(json);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const makeAssertionOptions = json["assertion"];
|
||||||
|
const sessionId = json["session_id"];
|
||||||
|
const challenge = makeAssertionOptions.challenge.replace(/-/g, "+").replace(/_/g, "/");
|
||||||
|
makeAssertionOptions.challenge = Uint8Array.from(atob(challenge), c => c.charCodeAt(0));
|
||||||
|
makeAssertionOptions.allowCredentials.forEach(function (listItem) {
|
||||||
|
var fixedId = listItem.id.replace(/\_/g, "/").replace(/\-/g, "+");
|
||||||
|
listItem.id = Uint8Array.from(atob(fixedId), c => c.charCodeAt(0));
|
||||||
|
});
|
||||||
|
let credential;
|
||||||
|
try {
|
||||||
|
credential = await navigator.credentials.get({ publicKey: makeAssertionOptions })
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
toggleBtn(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await makeAssertion(credential, form, sessionId);
|
||||||
|
}
|
||||||
|
|
||||||
|
tryListenForm();
|
||||||
|
};
|
||||||
|
|
||||||
|
setCsharpReference = function(ref) {
|
||||||
|
console.log(ref);
|
||||||
|
csharpReference = ref;
|
||||||
|
init();
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
}
|
||||||
179
Areas/webauthn/Views/Register/Index.cshtml
Normal file
179
Areas/webauthn/Views/Register/Index.cshtml
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
@using FormBuilder.Components.Workflow
|
||||||
|
@using FormBuilder
|
||||||
|
@using FormBuilder.Helpers
|
||||||
|
@using Microsoft.AspNetCore.Http
|
||||||
|
@using Microsoft.Extensions.Options;
|
||||||
|
@using SimpleIdServer.IdServer.Options;
|
||||||
|
@using System.Text.Json
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.SidWorkflowViewModel
|
||||||
|
@inject IOptions<FormBuilderOptions> options
|
||||||
|
@inject IUriProvider uriProvider
|
||||||
|
@inject IHttpContextAccessor HttpContextAccessor;
|
||||||
|
|
||||||
|
@{
|
||||||
|
Layout = "~/Views/Shared/_FormBuilderLayout.cshtml";
|
||||||
|
var antiforgeryToken = HttpContextAccessor.HttpContext.Request.Cookies[options.Value.AntiforgeryCookieName];
|
||||||
|
Model.AntiforgeryToken.CookieValue = antiforgeryToken;
|
||||||
|
var step = Model.Workflow?.Steps?.SingleOrDefault(s => s.Id == Model.CurrentStepId);
|
||||||
|
var beginRegisterUrl = Model.Input["BeginRegisterUrl"].ToString();
|
||||||
|
var endRegisterUrl = Model.Input["EndRegisterUrl"].ToString();
|
||||||
|
var returnUrl = Model.Input["ReturnUrl"].ToString();
|
||||||
|
var isCreated = Model.Input["IsCreated"].ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
<component type="typeof(WorkflowViewer)"
|
||||||
|
render-mode="ServerPrerendered"
|
||||||
|
param-Input="@Model.Input"
|
||||||
|
param-Workflow="@Model.Workflow"
|
||||||
|
param-FormRecords="@Model.FormRecords"
|
||||||
|
param-CurrentStepId="@Model.CurrentStepId"
|
||||||
|
param-ErrorMessages="@Model.ErrorMessages"
|
||||||
|
param-SuccessMessages="@Model.SuccessMessages"
|
||||||
|
param-AntiforgeryToken="@Model.AntiforgeryToken"
|
||||||
|
param-SupportedLanguageCodes="@Model.SupportedLanguageCodes"
|
||||||
|
param-Template="@Model.Template" />
|
||||||
|
|
||||||
|
@section Header {
|
||||||
|
@foreach (var cssStyle in Model.Template.CssStyles)
|
||||||
|
{
|
||||||
|
<link rel="stylesheet" href="@uriProvider.GetCssUrl(Model.Template.Id, cssStyle)" />
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var jsStyle in Model.Template.JsStyles)
|
||||||
|
{
|
||||||
|
<script src="@uriProvider.GetJsUrl(Model.Template.Id, jsStyle)" type="text/javascript"></script>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script type="text/javascript">
|
||||||
|
let csharpReference;
|
||||||
|
|
||||||
|
var init = function () {
|
||||||
|
var beginRegisterUrl = "@beginRegisterUrl";
|
||||||
|
var endRegisterUrl = "@endRegisterUrl";
|
||||||
|
var redirectUrl = "@returnUrl";
|
||||||
|
var isCreated = "@isCreated";
|
||||||
|
var isInitialized = false;
|
||||||
|
|
||||||
|
var displayError = function (errorJson) {
|
||||||
|
csharpReference.invokeMethodAsync("SetErrorMessage", errorJson["error_description"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
var displaySuccessMessage = function () {
|
||||||
|
csharpReference.invokeMethodAsync("SetSuccessMessage", "User is created");
|
||||||
|
csharpReference.invokeMethodAsync("ClearErrorMessages");
|
||||||
|
csharpReference.invokeMethodAsync("SetInputData", isCreated, "true");
|
||||||
|
$("#webauthForm").hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
async function registerCredential(newCredential, sessionId, login, nextRegistrationRedirectUrl) {
|
||||||
|
let attestationObject = new Uint8Array(newCredential.response.attestationObject);
|
||||||
|
let clientDataJSON = new Uint8Array(newCredential.response.clientDataJSON);
|
||||||
|
let rawId = new Uint8Array(newCredential.rawId);
|
||||||
|
const serializedAuthenticatorAttestationRawResponse = {
|
||||||
|
id: newCredential.id,
|
||||||
|
rawId: coerceToBase64Url(rawId),
|
||||||
|
type: newCredential.type,
|
||||||
|
extensions: newCredential.getClientExtensionResults(),
|
||||||
|
response: {
|
||||||
|
attestationObject: coerceToBase64Url(attestationObject),
|
||||||
|
clientDataJSON: coerceToBase64Url(clientDataJSON)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let response = await fetch(endRegisterUrl, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({
|
||||||
|
attestation: serializedAuthenticatorAttestationRawResponse,
|
||||||
|
login: login,
|
||||||
|
session_id: sessionId
|
||||||
|
}),
|
||||||
|
headers: {
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
let responseJson = await response.json();
|
||||||
|
if (!response.ok) {
|
||||||
|
displayError(responseJson);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (nextRegistrationRedirectUrl) {
|
||||||
|
window.location.href = nextRegistrationRedirectUrl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
displaySuccessMessage();
|
||||||
|
}
|
||||||
|
|
||||||
|
async function makeCredential(login, displayName) {
|
||||||
|
let response = await fetch(beginRegisterUrl, {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({ login: login, display_name: displayName, credential_type: 'webauthn' }),
|
||||||
|
headers: {
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Content-Type": "application/json"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
let responseJson = await response.json();
|
||||||
|
if (!response.ok) {
|
||||||
|
displayError(responseJson);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
let makeCredentialOptions = responseJson["credential_create_options"];
|
||||||
|
let sessionId = responseJson["session_id"];
|
||||||
|
let nextRegistrationRedirectUrl = null;
|
||||||
|
if (responseJson['next_registration_redirect_url']) {
|
||||||
|
nextRegistrationRedirectUrl = responseJson['next_registration_redirect_url'];
|
||||||
|
}
|
||||||
|
|
||||||
|
makeCredentialOptions.challenge = coerceToArrayBuffer(makeCredentialOptions.challenge);
|
||||||
|
makeCredentialOptions.user.id = coerceToArrayBuffer(makeCredentialOptions.user.id);
|
||||||
|
makeCredentialOptions.excludeCredentials = makeCredentialOptions.excludeCredentials.map((c) => {
|
||||||
|
c.id = coerceToArrayBuffer(c.id);
|
||||||
|
return c;
|
||||||
|
});
|
||||||
|
if (makeCredentialOptions.authenticatorSelection.authenticatorAttachment === null) makeCredentialOptions.authenticatorSelection.authenticatorAttachment = undefined;
|
||||||
|
let newCredential;
|
||||||
|
try {
|
||||||
|
newCredential = await navigator.credentials.create({
|
||||||
|
publicKey: makeCredentialOptions
|
||||||
|
});
|
||||||
|
} catch (e) {
|
||||||
|
var msg = "Could not create credentials in browser. Probably because the username is already registered with your authenticator. Please change username or authenticator."
|
||||||
|
console.error(msg, e);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await registerCredential(newCredential, sessionId, login, nextRegistrationRedirectUrl);
|
||||||
|
};
|
||||||
|
|
||||||
|
var tryListenForm = function () {
|
||||||
|
const elt = $("#webauthForm");
|
||||||
|
if (isInitialized === true) return;
|
||||||
|
if (elt.length === 0) {
|
||||||
|
setTimeout(() => tryListenForm(), 500);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
isInitialized = true;
|
||||||
|
elt.submit(function (e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var login = $("#webauthForm input[name='Login']").val();
|
||||||
|
var displayName = $("#webauthForm input[name='DisplayName']").val();
|
||||||
|
makeCredential(login, displayName);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
tryListenForm();
|
||||||
|
};
|
||||||
|
|
||||||
|
setCsharpReference = function (ref) {
|
||||||
|
csharpReference = ref;
|
||||||
|
init();
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
}
|
||||||
1
Areas/webauthn/Views/_ViewImports.cshtml
Normal file
1
Areas/webauthn/Views/_ViewImports.cshtml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
106
Program.cs
Normal file
106
Program.cs
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
// Copyright (c) SimpleIdServer. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Security.Claims;
|
||||||
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using SimpleIdServer.IdServer.Builders;
|
||||||
|
using SimpleIdServer.IdServer.Config;
|
||||||
|
using SimpleIdServer.IdServer.Domains;
|
||||||
|
|
||||||
|
var corsPolicyName = "AllowAll";
|
||||||
|
|
||||||
|
var users = new List<User>
|
||||||
|
{
|
||||||
|
UserBuilder
|
||||||
|
.Create("administrator", "password", "Administrator")
|
||||||
|
.SetEmail("adm@mail.com")
|
||||||
|
.SetFirstname("Administrator")
|
||||||
|
.AddRole("BI.PORTAL_ADMIN")
|
||||||
|
.AddRole("BI.TENANT_ADMIN")
|
||||||
|
.AddClaim("tid", "cbaa13c2-e95b-470a-bbcb-18911d5a6025")
|
||||||
|
.Build(),
|
||||||
|
};
|
||||||
|
|
||||||
|
var api = ApiResourceBuilder.Create("urn:bighand:api:bi:portal", "BI Portal API").Build();
|
||||||
|
|
||||||
|
var clients = new List<Client>
|
||||||
|
{
|
||||||
|
ClientBuilder
|
||||||
|
.BuildUserAgentClient("foo", null, null, new[] { "http://localhost:4200/loggedin" })
|
||||||
|
.AddScope(new Scope("openid"), new Scope("profile"), new Scope("offline_access"))
|
||||||
|
.AddRefreshToken()
|
||||||
|
.Build(),
|
||||||
|
};
|
||||||
|
|
||||||
|
var scopes = new List<Scope> { ScopeBuilder.CreateRoleScope(clients[0], "bi.portal", "").Build() };
|
||||||
|
var biScope = new Scope()
|
||||||
|
{
|
||||||
|
ApiResources = { api },
|
||||||
|
Name = "bi.portal",
|
||||||
|
Clients = { clients[0] },
|
||||||
|
Description = "BI Portal Scope",
|
||||||
|
ClaimMappers =
|
||||||
|
{
|
||||||
|
new ScopeClaimMapper()
|
||||||
|
{
|
||||||
|
IncludeInAccessToken = true,
|
||||||
|
TokenClaimJsonType = TokenClaimJsonTypes.STRING,
|
||||||
|
TargetClaimPath = "role",
|
||||||
|
MapperType = MappingRuleTypes.USERATTRIBUTE,
|
||||||
|
SourceUserAttribute = "role",
|
||||||
|
SourceUserProperty = "role",
|
||||||
|
},
|
||||||
|
new ScopeClaimMapper()
|
||||||
|
{
|
||||||
|
IncludeInAccessToken = true,
|
||||||
|
TokenClaimJsonType = TokenClaimJsonTypes.STRING,
|
||||||
|
TargetClaimPath = "tid",
|
||||||
|
MapperType = MappingRuleTypes.USERATTRIBUTE,
|
||||||
|
SourceUserAttribute = "tid",
|
||||||
|
SourceUserProperty = "tid",
|
||||||
|
},
|
||||||
|
new ScopeClaimMapper()
|
||||||
|
{
|
||||||
|
IncludeInAccessToken = true,
|
||||||
|
TokenClaimJsonType = TokenClaimJsonTypes.STRING,
|
||||||
|
TargetClaimPath = "email",
|
||||||
|
MapperType = MappingRuleTypes.USERATTRIBUTE,
|
||||||
|
SourceUserAttribute = "email",
|
||||||
|
SourceUserProperty = "email",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
clients[0].Scopes.Add(biScope);
|
||||||
|
|
||||||
|
var builder = WebApplication.CreateBuilder(args);
|
||||||
|
|
||||||
|
builder.Services.AddCors(options =>
|
||||||
|
{
|
||||||
|
options.AddPolicy(
|
||||||
|
name: corsPolicyName,
|
||||||
|
policy =>
|
||||||
|
{
|
||||||
|
policy.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
builder
|
||||||
|
.AddSidIdentityServer()
|
||||||
|
.AddDeveloperSigningCredential()
|
||||||
|
.AddInMemoryUsers(users)
|
||||||
|
.AddInMemoryClients(clients)
|
||||||
|
.AddInMemoryScopes([biScope])
|
||||||
|
.AddInMemoryLanguages(DefaultLanguages.All)
|
||||||
|
.AddPwdAuthentication(true);
|
||||||
|
|
||||||
|
var app = builder.Build();
|
||||||
|
app.Services.SeedData();
|
||||||
|
app.UseSid();
|
||||||
|
app.UseCors(corsPolicyName);
|
||||||
|
|
||||||
|
await app.RunAsync();
|
||||||
12
Properties/launchSettings.json
Normal file
12
Properties/launchSettings.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"SimpleIdp": {
|
||||||
|
"commandName": "Project",
|
||||||
|
"launchBrowser": true,
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
},
|
||||||
|
"applicationUrl": "https://localhost:65455;http://localhost:65456"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
144
Resources/AccountsResource.Designer.cs
generated
Normal file
144
Resources/AccountsResource.Designer.cs
generated
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class AccountsResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal AccountsResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.AccountsResource", typeof(AccountsResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Active sessions.
|
||||||
|
/// </summary>
|
||||||
|
public static string active_sessions {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("active_sessions", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authentication time {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string authentication_time {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("authentication_time", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Choose session.
|
||||||
|
/// </summary>
|
||||||
|
public static string choose_session {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("choose_session", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Expiration time {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string expiration_time {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("expiration_time", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Reject.
|
||||||
|
/// </summary>
|
||||||
|
public static string reject {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("reject", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Revoke a session.
|
||||||
|
/// </summary>
|
||||||
|
public static string revoke_session_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("revoke_session_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Select a session.
|
||||||
|
/// </summary>
|
||||||
|
public static string select_session {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("select_session", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The user session has been rejected.
|
||||||
|
/// </summary>
|
||||||
|
public static string useraccount_rejected {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("useraccount_rejected", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The user session has been switched.
|
||||||
|
/// </summary>
|
||||||
|
public static string useraccount_switched {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("useraccount_switched", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
147
Resources/AccountsResource.resx
Normal file
147
Resources/AccountsResource.resx
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="active_sessions" xml:space="preserve">
|
||||||
|
<value>Active sessions</value>
|
||||||
|
</data>
|
||||||
|
<data name="authentication_time" xml:space="preserve">
|
||||||
|
<value>Authentication time {0}</value>
|
||||||
|
</data>
|
||||||
|
<data name="choose_session" xml:space="preserve">
|
||||||
|
<value>Choose session</value>
|
||||||
|
</data>
|
||||||
|
<data name="expiration_time" xml:space="preserve">
|
||||||
|
<value>Expiration time {0}</value>
|
||||||
|
</data>
|
||||||
|
<data name="revoke_session_title" xml:space="preserve">
|
||||||
|
<value>Revoke a session</value>
|
||||||
|
</data>
|
||||||
|
<data name="select_session" xml:space="preserve">
|
||||||
|
<value>Select a session</value>
|
||||||
|
</data>
|
||||||
|
<data name="useraccount_switched" xml:space="preserve">
|
||||||
|
<value>The user session has been switched</value>
|
||||||
|
</data>
|
||||||
|
<data name="reject" xml:space="preserve">
|
||||||
|
<value>Reject</value>
|
||||||
|
</data>
|
||||||
|
<data name="useraccount_rejected" xml:space="preserve">
|
||||||
|
<value>The user session has been rejected</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
180
Resources/AuthenticateConsoleResource.Designer.cs
generated
Normal file
180
Resources/AuthenticateConsoleResource.Designer.cs
generated
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class AuthenticateConsoleResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal AuthenticateConsoleResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.AuthenticateConsoleResource", typeof(AuthenticateConsoleResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string authenticate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("authenticate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Code has a validity of {0} seconds.
|
||||||
|
/// </summary>
|
||||||
|
public static string code_validity {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("code_validity", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code has been sent.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode_sent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode_sent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The confirmation code is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_credential {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_credential", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no OTP configured.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_active_otp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_active_otp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Remember my login.
|
||||||
|
/// </summary>
|
||||||
|
public static string remember_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("remember_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Send confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string sendconfirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("sendconfirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User account is blocked.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_blocked {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_blocked", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
159
Resources/AuthenticateConsoleResource.resx
Normal file
159
Resources/AuthenticateConsoleResource.resx
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="authenticate" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="code_validity" xml:space="preserve">
|
||||||
|
<value>Code has a validity of {0} seconds</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode_sent" xml:space="preserve">
|
||||||
|
<value>Confirmation code has been sent</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_credential" xml:space="preserve">
|
||||||
|
<value>The confirmation code is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_active_otp" xml:space="preserve">
|
||||||
|
<value>There is no OTP configured</value>
|
||||||
|
</data>
|
||||||
|
<data name="remember_login" xml:space="preserve">
|
||||||
|
<value>Remember my login</value>
|
||||||
|
</data>
|
||||||
|
<data name="sendconfirmationcode" xml:space="preserve">
|
||||||
|
<value>Send confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_blocked" xml:space="preserve">
|
||||||
|
<value>User account is blocked</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
270
Resources/AuthenticateEmailResource.Designer.cs
generated
Normal file
270
Resources/AuthenticateEmailResource.Designer.cs
generated
Normal file
@@ -0,0 +1,270 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class AuthenticateEmailResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal AuthenticateEmailResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.AuthenticateEmailResource", typeof(AuthenticateEmailResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string authenticate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("authenticate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email is not correct.
|
||||||
|
/// </summary>
|
||||||
|
public static string bad_email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("bad_email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Code has a validity of {0} seconds.
|
||||||
|
/// </summary>
|
||||||
|
public static string code_validity {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("code_validity", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code has been sent.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode_sent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode_sent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à An error occured while trying to decrypt the return url.
|
||||||
|
/// </summary>
|
||||||
|
public static string cryptographic_error {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("cryptographic_error", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email.
|
||||||
|
/// </summary>
|
||||||
|
public static string email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Return url is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_return_url {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_return_url", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no OTP configured.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_active_otp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_active_otp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Policy.
|
||||||
|
/// </summary>
|
||||||
|
public static string policy {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("policy", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Remember my login.
|
||||||
|
/// </summary>
|
||||||
|
public static string remember_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("remember_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Send confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string sendconfirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("sendconfirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Terms of service.
|
||||||
|
/// </summary>
|
||||||
|
public static string tos {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("tos", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email is unknown.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The given email does not correspond to any user.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_user {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_user", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User account is blocked.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_blocked {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_blocked", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with the same name already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email is already taken by an another user.
|
||||||
|
/// </summary>
|
||||||
|
public static string value_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("value_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
189
Resources/AuthenticateEmailResource.resx
Normal file
189
Resources/AuthenticateEmailResource.resx
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="authenticate" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="bad_email" xml:space="preserve">
|
||||||
|
<value>Email is not correct</value>
|
||||||
|
</data>
|
||||||
|
<data name="code_validity" xml:space="preserve">
|
||||||
|
<value>Code has a validity of {0} seconds</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode_sent" xml:space="preserve">
|
||||||
|
<value>Confirmation code has been sent</value>
|
||||||
|
</data>
|
||||||
|
<data name="cryptographic_error" xml:space="preserve">
|
||||||
|
<value>An error occured while trying to decrypt the return url</value>
|
||||||
|
</data>
|
||||||
|
<data name="email" xml:space="preserve">
|
||||||
|
<value>Email</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_email" xml:space="preserve">
|
||||||
|
<value>Email is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_login" xml:space="preserve">
|
||||||
|
<value>Email is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_return_url" xml:space="preserve">
|
||||||
|
<value>Return url is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_active_otp" xml:space="preserve">
|
||||||
|
<value>There is no OTP configured</value>
|
||||||
|
</data>
|
||||||
|
<data name="policy" xml:space="preserve">
|
||||||
|
<value>Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="remember_login" xml:space="preserve">
|
||||||
|
<value>Remember my login</value>
|
||||||
|
</data>
|
||||||
|
<data name="sendconfirmationcode" xml:space="preserve">
|
||||||
|
<value>Send confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="tos" xml:space="preserve">
|
||||||
|
<value>Terms of service</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_email" xml:space="preserve">
|
||||||
|
<value>Email is unknown</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_user" xml:space="preserve">
|
||||||
|
<value>The given email does not correspond to any user</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_blocked" xml:space="preserve">
|
||||||
|
<value>User account is blocked</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_exists" xml:space="preserve">
|
||||||
|
<value>User with the same name already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="value_exists" xml:space="preserve">
|
||||||
|
<value>Email is already taken by an another user</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
252
Resources/AuthenticateMobileResource.Designer.cs
generated
Normal file
252
Resources/AuthenticateMobileResource.Designer.cs
generated
Normal file
@@ -0,0 +1,252 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class AuthenticateMobileResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal AuthenticateMobileResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.AuthenticateMobileResource", typeof(AuthenticateMobileResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate with your mobile device.
|
||||||
|
/// </summary>
|
||||||
|
public static string auth_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("auth_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string authenticate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("authenticate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Credential is added.
|
||||||
|
/// </summary>
|
||||||
|
public static string credential_added {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("credential_added", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Display name.
|
||||||
|
/// </summary>
|
||||||
|
public static string display_name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("display_name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Enroll a new mobile application.
|
||||||
|
/// </summary>
|
||||||
|
public static string enroll_mobile {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("enroll_mobile", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Generate QR Code.
|
||||||
|
/// </summary>
|
||||||
|
public static string generate_qrcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("generate_qrcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Session Identitfier is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_session_id {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_session_id", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Attestation is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_attestation {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_attestation", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à FIDO2 credential is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_credential {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_credential", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Session Identifier is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_session_id {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_session_id", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à QR Code.
|
||||||
|
/// </summary>
|
||||||
|
public static string qrcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("qrcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string register {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register a user.
|
||||||
|
/// </summary>
|
||||||
|
public static string register_mobile {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register_mobile", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register SID Mobile application.
|
||||||
|
/// </summary>
|
||||||
|
public static string register_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Remember my login.
|
||||||
|
/// </summary>
|
||||||
|
public static string remember_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("remember_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Scan the QR code with your mobile application.
|
||||||
|
/// </summary>
|
||||||
|
public static string scan_mobileapp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("scan_mobileapp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Registration has not been validated.
|
||||||
|
/// </summary>
|
||||||
|
public static string session_not_validate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("session_not_validate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with same login already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_already_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_already_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User account is blocked.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_blocked {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_blocked", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
183
Resources/AuthenticateMobileResource.resx
Normal file
183
Resources/AuthenticateMobileResource.resx
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="authenticate" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="auth_title" xml:space="preserve">
|
||||||
|
<value>Authenticate with your mobile device</value>
|
||||||
|
</data>
|
||||||
|
<data name="credential_added" xml:space="preserve">
|
||||||
|
<value>Credential is added</value>
|
||||||
|
</data>
|
||||||
|
<data name="display_name" xml:space="preserve">
|
||||||
|
<value>Display name</value>
|
||||||
|
</data>
|
||||||
|
<data name="enroll_mobile" xml:space="preserve">
|
||||||
|
<value>Enroll a new mobile application</value>
|
||||||
|
</data>
|
||||||
|
<data name="generate_qrcode" xml:space="preserve">
|
||||||
|
<value>Generate QR Code</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_session_id" xml:space="preserve">
|
||||||
|
<value>Session Identitfier is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_attestation" xml:space="preserve">
|
||||||
|
<value>Attestation is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_credential" xml:space="preserve">
|
||||||
|
<value>FIDO2 credential is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_login" xml:space="preserve">
|
||||||
|
<value>Login is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_session_id" xml:space="preserve">
|
||||||
|
<value>Session Identifier is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="qrcode" xml:space="preserve">
|
||||||
|
<value>QR Code</value>
|
||||||
|
</data>
|
||||||
|
<data name="register" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="register_mobile" xml:space="preserve">
|
||||||
|
<value>Register a user</value>
|
||||||
|
</data>
|
||||||
|
<data name="register_title" xml:space="preserve">
|
||||||
|
<value>Register SID Mobile application</value>
|
||||||
|
</data>
|
||||||
|
<data name="remember_login" xml:space="preserve">
|
||||||
|
<value>Remember my login</value>
|
||||||
|
</data>
|
||||||
|
<data name="scan_mobileapp" xml:space="preserve">
|
||||||
|
<value>Scan the QR code with your mobile application</value>
|
||||||
|
</data>
|
||||||
|
<data name="session_not_validate" xml:space="preserve">
|
||||||
|
<value>Registration has not been validated</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_already_exists" xml:space="preserve">
|
||||||
|
<value>User with same login already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_blocked" xml:space="preserve">
|
||||||
|
<value>User account is blocked</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
234
Resources/AuthenticateOtpResource.Designer.cs
generated
Normal file
234
Resources/AuthenticateOtpResource.Designer.cs
generated
Normal file
@@ -0,0 +1,234 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class AuthenticateOtpResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal AuthenticateOtpResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.AuthenticateOtpResource", typeof(AuthenticateOtpResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string authenticate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("authenticate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Code has a validity of {0} seconds.
|
||||||
|
/// </summary>
|
||||||
|
public static string code_validity {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("code_validity", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code has been sent.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode_sent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode_sent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à An error occured while trying to decrypt the return url.
|
||||||
|
/// </summary>
|
||||||
|
public static string cryptographic_error {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("cryptographic_error", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The OTP is not valid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_credential {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_credential", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Return url is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_return_url {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_return_url", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no OTP configured.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_active_otp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_active_otp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Policy.
|
||||||
|
/// </summary>
|
||||||
|
public static string policy {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("policy", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Remember my login.
|
||||||
|
/// </summary>
|
||||||
|
public static string remember_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("remember_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Terms of service.
|
||||||
|
/// </summary>
|
||||||
|
public static string tos {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("tos", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login is unknown.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The given login does not correspond to any user.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_user {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_user", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User account is blocked.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_blocked {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_blocked", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
177
Resources/AuthenticateOtpResource.resx
Normal file
177
Resources/AuthenticateOtpResource.resx
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="authenticate" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="code_validity" xml:space="preserve">
|
||||||
|
<value>Code has a validity of {0} seconds</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode_sent" xml:space="preserve">
|
||||||
|
<value>Confirmation code has been sent</value>
|
||||||
|
</data>
|
||||||
|
<data name="cryptographic_error" xml:space="preserve">
|
||||||
|
<value>An error occured while trying to decrypt the return url</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_credential" xml:space="preserve">
|
||||||
|
<value>The OTP is not valid</value>
|
||||||
|
</data>
|
||||||
|
<data name="login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_login" xml:space="preserve">
|
||||||
|
<value>Login is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_return_url" xml:space="preserve">
|
||||||
|
<value>Return url is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_active_otp" xml:space="preserve">
|
||||||
|
<value>There is no OTP configured</value>
|
||||||
|
</data>
|
||||||
|
<data name="policy" xml:space="preserve">
|
||||||
|
<value>Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="remember_login" xml:space="preserve">
|
||||||
|
<value>Remember my login</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="tos" xml:space="preserve">
|
||||||
|
<value>Terms of service</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_login" xml:space="preserve">
|
||||||
|
<value>Login is unknown</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_user" xml:space="preserve">
|
||||||
|
<value>The given login does not correspond to any user</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_blocked" xml:space="preserve">
|
||||||
|
<value>User account is blocked</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
243
Resources/AuthenticatePasswordResource.Designer.cs
generated
Normal file
243
Resources/AuthenticatePasswordResource.Designer.cs
generated
Normal file
@@ -0,0 +1,243 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class AuthenticatePasswordResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal AuthenticatePasswordResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.AuthenticatePasswordResource", typeof(AuthenticatePasswordResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à External authentication.
|
||||||
|
/// </summary>
|
||||||
|
public static string external_authenticate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("external_authenticate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Credential is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_credential {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_credential", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The maximum number of active sessions has been reached..
|
||||||
|
/// </summary>
|
||||||
|
public static string maximum_number_active_sessions {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("maximum_number_active_sessions", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Password is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Return url is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_return_url {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_return_url", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Password.
|
||||||
|
/// </summary>
|
||||||
|
public static string password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Policy.
|
||||||
|
/// </summary>
|
||||||
|
public static string policy {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("policy", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string register {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Click the following link to reject sessions.
|
||||||
|
/// </summary>
|
||||||
|
public static string reject_sessions {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("reject_sessions", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Remember me.
|
||||||
|
/// </summary>
|
||||||
|
public static string remember_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("remember_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Forget my password.
|
||||||
|
/// </summary>
|
||||||
|
public static string reset_pwd {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("reset_pwd", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Sessions.
|
||||||
|
/// </summary>
|
||||||
|
public static string sessions {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("sessions", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Submit.
|
||||||
|
/// </summary>
|
||||||
|
public static string submit {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("submit", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Terms of service.
|
||||||
|
/// </summary>
|
||||||
|
public static string tos {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("tos", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The user doesn't exist.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_user {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_user", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User account is blocked.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_blocked {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_blocked", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
180
Resources/AuthenticatePasswordResource.resx
Normal file
180
Resources/AuthenticatePasswordResource.resx
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="external_authenticate" xml:space="preserve">
|
||||||
|
<value>External authentication</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_credential" xml:space="preserve">
|
||||||
|
<value>Credential is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_login" xml:space="preserve">
|
||||||
|
<value>Login is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_login" xml:space="preserve">
|
||||||
|
<value>Login is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_password" xml:space="preserve">
|
||||||
|
<value>Password is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_return_url" xml:space="preserve">
|
||||||
|
<value>Return url is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="password" xml:space="preserve">
|
||||||
|
<value>Password</value>
|
||||||
|
</data>
|
||||||
|
<data name="policy" xml:space="preserve">
|
||||||
|
<value>Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="register" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="remember_login" xml:space="preserve">
|
||||||
|
<value>Remember me</value>
|
||||||
|
</data>
|
||||||
|
<data name="reset_pwd" xml:space="preserve">
|
||||||
|
<value>Forget my password</value>
|
||||||
|
</data>
|
||||||
|
<data name="submit" xml:space="preserve">
|
||||||
|
<value>Submit</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="tos" xml:space="preserve">
|
||||||
|
<value>Terms of service</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_user" xml:space="preserve">
|
||||||
|
<value>The user doesn't exist</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_blocked" xml:space="preserve">
|
||||||
|
<value>User account is blocked</value>
|
||||||
|
</data>
|
||||||
|
<data name="maximum_number_active_sessions" xml:space="preserve">
|
||||||
|
<value>The maximum number of active sessions has been reached.</value>
|
||||||
|
</data>
|
||||||
|
<data name="reject_sessions" xml:space="preserve">
|
||||||
|
<value>Click the following link to reject sessions</value>
|
||||||
|
</data>
|
||||||
|
<data name="sessions" xml:space="preserve">
|
||||||
|
<value>Sessions</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
234
Resources/AuthenticateSmsResource.Designer.cs
generated
Normal file
234
Resources/AuthenticateSmsResource.Designer.cs
generated
Normal file
@@ -0,0 +1,234 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class AuthenticateSmsResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal AuthenticateSmsResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.AuthenticateSmsResource", typeof(AuthenticateSmsResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string authenticate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("authenticate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Code has a validity of {0} seconds.
|
||||||
|
/// </summary>
|
||||||
|
public static string code_validity {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("code_validity", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code has been sent.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode_sent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode_sent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à An error occured while trying to decrypt the return url.
|
||||||
|
/// </summary>
|
||||||
|
public static string cryptographic_error {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("cryptographic_error", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Phone number is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_phonenumber {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_phonenumber", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no OTP configured.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_active_otp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_active_otp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Phone number.
|
||||||
|
/// </summary>
|
||||||
|
public static string phonenumber {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("phonenumber", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Policy.
|
||||||
|
/// </summary>
|
||||||
|
public static string policy {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("policy", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Remember my login.
|
||||||
|
/// </summary>
|
||||||
|
public static string remember_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("remember_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Send a confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string sendconfirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("sendconfirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Terms of service.
|
||||||
|
/// </summary>
|
||||||
|
public static string tos {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("tos", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Phone number is unknown.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_phonenumber {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_phonenumber", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The given phone number does not correspond to any user.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_user {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_user", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User account is blocked.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_blocked {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_blocked", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with the same name already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Phone number is already taken by an another user.
|
||||||
|
/// </summary>
|
||||||
|
public static string value_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("value_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
177
Resources/AuthenticateSmsResource.resx
Normal file
177
Resources/AuthenticateSmsResource.resx
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="authenticate" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="code_validity" xml:space="preserve">
|
||||||
|
<value>Code has a validity of {0} seconds</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode_sent" xml:space="preserve">
|
||||||
|
<value>Confirmation code has been sent</value>
|
||||||
|
</data>
|
||||||
|
<data name="cryptographic_error" xml:space="preserve">
|
||||||
|
<value>An error occured while trying to decrypt the return url</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_phonenumber" xml:space="preserve">
|
||||||
|
<value>Phone number is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_active_otp" xml:space="preserve">
|
||||||
|
<value>There is no OTP configured</value>
|
||||||
|
</data>
|
||||||
|
<data name="phonenumber" xml:space="preserve">
|
||||||
|
<value>Phone number</value>
|
||||||
|
</data>
|
||||||
|
<data name="policy" xml:space="preserve">
|
||||||
|
<value>Policy</value>
|
||||||
|
</data>
|
||||||
|
<data name="remember_login" xml:space="preserve">
|
||||||
|
<value>Remember my login</value>
|
||||||
|
</data>
|
||||||
|
<data name="sendconfirmationcode" xml:space="preserve">
|
||||||
|
<value>Send a confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="tos" xml:space="preserve">
|
||||||
|
<value>Terms of service</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_phonenumber" xml:space="preserve">
|
||||||
|
<value>Phone number is unknown</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_user" xml:space="preserve">
|
||||||
|
<value>The given phone number does not correspond to any user</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_blocked" xml:space="preserve">
|
||||||
|
<value>User account is blocked</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_exists" xml:space="preserve">
|
||||||
|
<value>User with the same name already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="value_exists" xml:space="preserve">
|
||||||
|
<value>Phone number is already taken by an another user</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
234
Resources/AuthenticateWebauthnResource.Designer.cs
generated
Normal file
234
Resources/AuthenticateWebauthnResource.Designer.cs
generated
Normal file
@@ -0,0 +1,234 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class AuthenticateWebauthnResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal AuthenticateWebauthnResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.AuthenticateWebauthnResource", typeof(AuthenticateWebauthnResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string authenticate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("authenticate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Credential is added.
|
||||||
|
/// </summary>
|
||||||
|
public static string credential_added {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("credential_added", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Display name.
|
||||||
|
/// </summary>
|
||||||
|
public static string display_name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("display_name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Enroll a new web authentication method.
|
||||||
|
/// </summary>
|
||||||
|
public static string enroll_mobile {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("enroll_mobile", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Attestation is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_attestation {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_attestation", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à FIDO2 credential is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_credential {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_credential", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The session_id is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_session_id {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_session_id", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string register {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register web authentication.
|
||||||
|
/// </summary>
|
||||||
|
public static string register_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register a user.
|
||||||
|
/// </summary>
|
||||||
|
public static string register_webauthn {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register_webauthn", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Remember my login.
|
||||||
|
/// </summary>
|
||||||
|
public static string remember_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("remember_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Registration has not been validated.
|
||||||
|
/// </summary>
|
||||||
|
public static string session_not_validate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("session_not_validate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The session must be validate.
|
||||||
|
/// </summary>
|
||||||
|
public static string session_not_validated {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("session_not_validated", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Either the session is expired or doesn't exist.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_session {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_session", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Enroll a new web authentication method.
|
||||||
|
/// </summary>
|
||||||
|
public static string update_webauthn {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update_webauthn", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with same login already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_already_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_already_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User account is blocked.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_blocked {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_blocked", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
177
Resources/AuthenticateWebauthnResource.resx
Normal file
177
Resources/AuthenticateWebauthnResource.resx
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="authenticate" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="credential_added" xml:space="preserve">
|
||||||
|
<value>Credential is added</value>
|
||||||
|
</data>
|
||||||
|
<data name="display_name" xml:space="preserve">
|
||||||
|
<value>Display name</value>
|
||||||
|
</data>
|
||||||
|
<data name="enroll_mobile" xml:space="preserve">
|
||||||
|
<value>Enroll a new web authentication method</value>
|
||||||
|
</data>
|
||||||
|
<data name="login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_attestation" xml:space="preserve">
|
||||||
|
<value>Attestation is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_credential" xml:space="preserve">
|
||||||
|
<value>FIDO2 credential is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_login" xml:space="preserve">
|
||||||
|
<value>Login is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_session_id" xml:space="preserve">
|
||||||
|
<value>The session_id is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="register" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="register_title" xml:space="preserve">
|
||||||
|
<value>Register web authentication</value>
|
||||||
|
</data>
|
||||||
|
<data name="register_webauthn" xml:space="preserve">
|
||||||
|
<value>Register a user</value>
|
||||||
|
</data>
|
||||||
|
<data name="remember_login" xml:space="preserve">
|
||||||
|
<value>Remember my login</value>
|
||||||
|
</data>
|
||||||
|
<data name="session_not_validate" xml:space="preserve">
|
||||||
|
<value>Registration has not been validated</value>
|
||||||
|
</data>
|
||||||
|
<data name="session_not_validated" xml:space="preserve">
|
||||||
|
<value>The session must be validate</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_session" xml:space="preserve">
|
||||||
|
<value>Either the session is expired or doesn't exist</value>
|
||||||
|
</data>
|
||||||
|
<data name="update_webauthn" xml:space="preserve">
|
||||||
|
<value>Enroll a new web authentication method</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_already_exists" xml:space="preserve">
|
||||||
|
<value>User with same login already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_blocked" xml:space="preserve">
|
||||||
|
<value>User account is blocked</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
162
Resources/BCConsentsResource.Designer.cs
generated
Normal file
162
Resources/BCConsentsResource.Designer.cs
generated
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class BCConsentsResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal BCConsentsResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.BCConsentsResource", typeof(BCConsentsResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Exception occured while trying to confirm or reject the consent.
|
||||||
|
/// </summary>
|
||||||
|
public static string cannot_confirm_or_reject {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("cannot_confirm_or_reject", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirm.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirm {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirm", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The Client App '{0}' is requesting the following permissions.
|
||||||
|
/// </summary>
|
||||||
|
public static string consent_client_access {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("consent_client_access", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The consent is confirmed.
|
||||||
|
/// </summary>
|
||||||
|
public static string consent_confirmed {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("consent_confirmed", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The consent is rejected.
|
||||||
|
/// </summary>
|
||||||
|
public static string consent_rejected {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("consent_rejected", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Exception occured while trying to decrypt the redirection url.
|
||||||
|
/// </summary>
|
||||||
|
public static string cryptography_error {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("cryptography_error", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Message.
|
||||||
|
/// </summary>
|
||||||
|
public static string message {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("message", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Reject.
|
||||||
|
/// </summary>
|
||||||
|
public static string reject {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("reject", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Scopes.
|
||||||
|
/// </summary>
|
||||||
|
public static string scopes {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("scopes", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à You are not authorized to perform any action on this back channel authentication.
|
||||||
|
/// </summary>
|
||||||
|
public static string unauthorized_bc_auth {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unauthorized_bc_auth", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Back channel authentication is unknown.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_bc_authorize {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_bc_authorize", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
153
Resources/BCConsentsResource.resx
Normal file
153
Resources/BCConsentsResource.resx
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="cannot_confirm_or_reject" xml:space="preserve">
|
||||||
|
<value>Exception occured while trying to confirm or reject the consent</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirm" xml:space="preserve">
|
||||||
|
<value>Confirm</value>
|
||||||
|
</data>
|
||||||
|
<data name="consent_client_access" xml:space="preserve">
|
||||||
|
<value>The Client App '{0}' is requesting the following permissions</value>
|
||||||
|
</data>
|
||||||
|
<data name="consent_confirmed" xml:space="preserve">
|
||||||
|
<value>The consent is confirmed</value>
|
||||||
|
</data>
|
||||||
|
<data name="consent_rejected" xml:space="preserve">
|
||||||
|
<value>The consent is rejected</value>
|
||||||
|
</data>
|
||||||
|
<data name="cryptography_error" xml:space="preserve">
|
||||||
|
<value>Exception occured while trying to decrypt the redirection url</value>
|
||||||
|
</data>
|
||||||
|
<data name="message" xml:space="preserve">
|
||||||
|
<value>Message</value>
|
||||||
|
</data>
|
||||||
|
<data name="reject" xml:space="preserve">
|
||||||
|
<value>Reject</value>
|
||||||
|
</data>
|
||||||
|
<data name="scopes" xml:space="preserve">
|
||||||
|
<value>Scopes</value>
|
||||||
|
</data>
|
||||||
|
<data name="unauthorized_bc_auth" xml:space="preserve">
|
||||||
|
<value>You are not authorized to perform any action on this back channel authentication</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_bc_authorize" xml:space="preserve">
|
||||||
|
<value>Back channel authentication is unknown</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
81
Resources/CheckSessionResource.Designer.cs
generated
Normal file
81
Resources/CheckSessionResource.Designer.cs
generated
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class CheckSessionResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal CheckSessionResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.CheckSessionResource", typeof(CheckSessionResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Revoke session.
|
||||||
|
/// </summary>
|
||||||
|
public static string revoke_session_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("revoke_session_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The session is being revoked; you will be redirected to the website in {0} seconds..
|
||||||
|
/// </summary>
|
||||||
|
public static string session_being_revoked {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("session_being_revoked", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
126
Resources/CheckSessionResource.resx
Normal file
126
Resources/CheckSessionResource.resx
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="revoke_session_title" xml:space="preserve">
|
||||||
|
<value>Revoke session</value>
|
||||||
|
</data>
|
||||||
|
<data name="session_being_revoked" xml:space="preserve">
|
||||||
|
<value>The session is being revoked; you will be redirected to the website in {0} seconds.</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
189
Resources/ConfirmResetPasswordResource.Designer.cs
generated
Normal file
189
Resources/ConfirmResetPasswordResource.Designer.cs
generated
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class ConfirmResetPasswordResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal ConfirmResetPasswordResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.ConfirmResetPasswordResource", typeof(ConfirmResetPasswordResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Code.
|
||||||
|
/// </summary>
|
||||||
|
public static string code {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("code", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation password is required.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmation_password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmation_password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The validation code is invalid or has expired.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_link {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_link", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The validation code is invalid or has expired.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_otpcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_otpcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Validation code is required.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_code {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_code", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Destination is required.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_destination {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_destination", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Password is required.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Password.
|
||||||
|
/// </summary>
|
||||||
|
public static string password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Your password has been updated.
|
||||||
|
/// </summary>
|
||||||
|
public static string password_updated {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("password_updated", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Repeat the password.
|
||||||
|
/// </summary>
|
||||||
|
public static string repeat_password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("repeat_password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Reset your password.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Both passwords don't match.
|
||||||
|
/// </summary>
|
||||||
|
public static string unmatch_password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unmatch_password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Update.
|
||||||
|
/// </summary>
|
||||||
|
public static string update {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
162
Resources/ConfirmResetPasswordResource.resx
Normal file
162
Resources/ConfirmResetPasswordResource.resx
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="code" xml:space="preserve">
|
||||||
|
<value>Code</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmation_password" xml:space="preserve">
|
||||||
|
<value>Confirmation password is required</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_link" xml:space="preserve">
|
||||||
|
<value>The validation code is invalid or has expired</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_otpcode" xml:space="preserve">
|
||||||
|
<value>The validation code is invalid or has expired</value>
|
||||||
|
</data>
|
||||||
|
<data name="login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_code" xml:space="preserve">
|
||||||
|
<value>Validation code is required</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_destination" xml:space="preserve">
|
||||||
|
<value>Destination is required</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_password" xml:space="preserve">
|
||||||
|
<value>Password is required</value>
|
||||||
|
</data>
|
||||||
|
<data name="password" xml:space="preserve">
|
||||||
|
<value>Password</value>
|
||||||
|
</data>
|
||||||
|
<data name="password_updated" xml:space="preserve">
|
||||||
|
<value>Your password has been updated</value>
|
||||||
|
</data>
|
||||||
|
<data name="repeat_password" xml:space="preserve">
|
||||||
|
<value>Repeat the password</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Reset your password</value>
|
||||||
|
</data>
|
||||||
|
<data name="unmatch_password" xml:space="preserve">
|
||||||
|
<value>Both passwords don't match</value>
|
||||||
|
</data>
|
||||||
|
<data name="update" xml:space="preserve">
|
||||||
|
<value>Update</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
126
Resources/ConsentsResource.Designer.cs
generated
Normal file
126
Resources/ConsentsResource.Designer.cs
generated
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class ConsentsResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal ConsentsResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.ConsentsResource", typeof(ConsentsResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Claims.
|
||||||
|
/// </summary>
|
||||||
|
public static string claims {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("claims", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirm.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirm {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirm", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The client '{0}' is requesting access to your account.
|
||||||
|
/// </summary>
|
||||||
|
public static string consent_client_access {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("consent_client_access", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Incoming request is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_request {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_request", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Manage consents.
|
||||||
|
/// </summary>
|
||||||
|
public static string manage_consents {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("manage_consents", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Reject.
|
||||||
|
/// </summary>
|
||||||
|
public static string reject {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("reject", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Scopes.
|
||||||
|
/// </summary>
|
||||||
|
public static string scopes {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("scopes", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
141
Resources/ConsentsResource.resx
Normal file
141
Resources/ConsentsResource.resx
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="claims" xml:space="preserve">
|
||||||
|
<value>Claims</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirm" xml:space="preserve">
|
||||||
|
<value>Confirm</value>
|
||||||
|
</data>
|
||||||
|
<data name="consent_client_access" xml:space="preserve">
|
||||||
|
<value>The client '{0}' is requesting access to your account</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_request" xml:space="preserve">
|
||||||
|
<value>Incoming request is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="manage_consents" xml:space="preserve">
|
||||||
|
<value>Manage consents</value>
|
||||||
|
</data>
|
||||||
|
<data name="reject" xml:space="preserve">
|
||||||
|
<value>Reject</value>
|
||||||
|
</data>
|
||||||
|
<data name="scopes" xml:space="preserve">
|
||||||
|
<value>Scopes</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
117
Resources/CredentialsResource.Designer.cs
generated
Normal file
117
Resources/CredentialsResource.Designer.cs
generated
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class CredentialsResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal CredentialsResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.CredentialsResource", typeof(CredentialsResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no wallet.
|
||||||
|
/// </summary>
|
||||||
|
public static string noWallet {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("noWallet", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Scan the QR code with your wallet.
|
||||||
|
/// </summary>
|
||||||
|
public static string scanQRCode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("scanQRCode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Select the wallet.
|
||||||
|
/// </summary>
|
||||||
|
public static string selectWallet {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("selectWallet", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Share.
|
||||||
|
/// </summary>
|
||||||
|
public static string share {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("share", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Share credential with one wallet.
|
||||||
|
/// </summary>
|
||||||
|
public static string shareOneWallet {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("shareOneWallet", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Credentials.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
138
Resources/CredentialsResource.resx
Normal file
138
Resources/CredentialsResource.resx
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="noWallet" xml:space="preserve">
|
||||||
|
<value>There is no wallet</value>
|
||||||
|
</data>
|
||||||
|
<data name="scanQRCode" xml:space="preserve">
|
||||||
|
<value>Scan the QR code with your wallet</value>
|
||||||
|
</data>
|
||||||
|
<data name="selectWallet" xml:space="preserve">
|
||||||
|
<value>Select the wallet</value>
|
||||||
|
</data>
|
||||||
|
<data name="share" xml:space="preserve">
|
||||||
|
<value>Share</value>
|
||||||
|
</data>
|
||||||
|
<data name="shareOneWallet" xml:space="preserve">
|
||||||
|
<value>Share credential with one wallet</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Credentials</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
153
Resources/DeviceCodeResource.Designer.cs
generated
Normal file
153
Resources/DeviceCodeResource.Designer.cs
generated
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class DeviceCodeResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal DeviceCodeResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.DeviceCodeResource", typeof(DeviceCodeResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Device Authentication is expired.
|
||||||
|
/// </summary>
|
||||||
|
public static string auth_device_code_expired {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("auth_device_code_expired", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirm.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirm {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirm", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Device Authentication is confirmed.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmed {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmed", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The client '{0}' is requesting access to your account.
|
||||||
|
/// </summary>
|
||||||
|
public static string consent_client_access {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("consent_client_access", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Manage consents.
|
||||||
|
/// </summary>
|
||||||
|
public static string manage_consents {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("manage_consents", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Device Authentication must have a PENDING state.
|
||||||
|
/// </summary>
|
||||||
|
public static string not_pending_auth_device_code {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("not_pending_auth_device_code", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Reject.
|
||||||
|
/// </summary>
|
||||||
|
public static string reject {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("reject", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Scopes.
|
||||||
|
/// </summary>
|
||||||
|
public static string scopes {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("scopes", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Device Authentication doesn't exist.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_user_code {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_user_code", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User code.
|
||||||
|
/// </summary>
|
||||||
|
public static string usercode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("usercode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
150
Resources/DeviceCodeResource.resx
Normal file
150
Resources/DeviceCodeResource.resx
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="auth_device_code_expired" xml:space="preserve">
|
||||||
|
<value>Device Authentication is expired</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirm" xml:space="preserve">
|
||||||
|
<value>Confirm</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmed" xml:space="preserve">
|
||||||
|
<value>Device Authentication is confirmed</value>
|
||||||
|
</data>
|
||||||
|
<data name="consent_client_access" xml:space="preserve">
|
||||||
|
<value>The client '{0}' is requesting access to your account</value>
|
||||||
|
</data>
|
||||||
|
<data name="manage_consents" xml:space="preserve">
|
||||||
|
<value>Manage consents</value>
|
||||||
|
</data>
|
||||||
|
<data name="not_pending_auth_device_code" xml:space="preserve">
|
||||||
|
<value>Device Authentication must have a PENDING state</value>
|
||||||
|
</data>
|
||||||
|
<data name="reject" xml:space="preserve">
|
||||||
|
<value>Reject</value>
|
||||||
|
</data>
|
||||||
|
<data name="scopes" xml:space="preserve">
|
||||||
|
<value>Scopes</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_user_code" xml:space="preserve">
|
||||||
|
<value>Device Authentication doesn't exist</value>
|
||||||
|
</data>
|
||||||
|
<data name="usercode" xml:space="preserve">
|
||||||
|
<value>User code</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
72
Resources/ErrorsResource.Designer.cs
generated
Normal file
72
Resources/ErrorsResource.Designer.cs
generated
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class ErrorsResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal ErrorsResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.ErrorsResource", typeof(ErrorsResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Invalid request.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_request {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_request", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
123
Resources/ErrorsResource.resx
Normal file
123
Resources/ErrorsResource.resx
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="invalid_request" xml:space="preserve">
|
||||||
|
<value>Invalid request</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
72
Resources/HomeResource.Designer.cs
generated
Normal file
72
Resources/HomeResource.Designer.cs
generated
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class HomeResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal HomeResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.HomeResource", typeof(HomeResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Home.
|
||||||
|
/// </summary>
|
||||||
|
public static string home {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("home", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
123
Resources/HomeResource.resx
Normal file
123
Resources/HomeResource.resx
Normal file
@@ -0,0 +1,123 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="home" xml:space="preserve">
|
||||||
|
<value>Home</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
216
Resources/LayoutResource.Designer.cs
generated
Normal file
216
Resources/LayoutResource.Designer.cs
generated
Normal file
@@ -0,0 +1,216 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class LayoutResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal LayoutResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.LayoutResource", typeof(LayoutResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authenticate.
|
||||||
|
/// </summary>
|
||||||
|
public static string authenticate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("authenticate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Back.
|
||||||
|
/// </summary>
|
||||||
|
public static string back {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("back", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Choose active session.
|
||||||
|
/// </summary>
|
||||||
|
public static string choose_session {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("choose_session", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Consents.
|
||||||
|
/// </summary>
|
||||||
|
public static string consents {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("consents", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Credential has been updated.
|
||||||
|
/// </summary>
|
||||||
|
public static string credential_is_updated {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("credential_is_updated", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Device Authentication.
|
||||||
|
/// </summary>
|
||||||
|
public static string deviceauth {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("deviceauth", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Disconnect.
|
||||||
|
/// </summary>
|
||||||
|
public static string disconnect {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("disconnect", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Disconnected.
|
||||||
|
/// </summary>
|
||||||
|
public static string Disconnected {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Disconnected", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à English.
|
||||||
|
/// </summary>
|
||||||
|
public static string en {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("en", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à French.
|
||||||
|
/// </summary>
|
||||||
|
public static string fr {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("fr", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Languages.
|
||||||
|
/// </summary>
|
||||||
|
public static string languages {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("languages", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à You are not allowed to execute the registration action.
|
||||||
|
/// </summary>
|
||||||
|
public static string not_allowed_to_execute_registration {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("not_allowed_to_execute_registration", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Language is {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string selected_language {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("selected_language", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Sessions.
|
||||||
|
/// </summary>
|
||||||
|
public static string Sessions {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Sessions", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Unexpected error.
|
||||||
|
/// </summary>
|
||||||
|
public static string UnexpectedError {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("UnexpectedError", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User is created.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_is_created {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_is_created", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à You are disconnected.
|
||||||
|
/// </summary>
|
||||||
|
public static string YouAreDisconnected {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("YouAreDisconnected", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
171
Resources/LayoutResource.resx
Normal file
171
Resources/LayoutResource.resx
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="authenticate" xml:space="preserve">
|
||||||
|
<value>Authenticate</value>
|
||||||
|
</data>
|
||||||
|
<data name="back" xml:space="preserve">
|
||||||
|
<value>Back</value>
|
||||||
|
</data>
|
||||||
|
<data name="choose_session" xml:space="preserve">
|
||||||
|
<value>Choose active session</value>
|
||||||
|
</data>
|
||||||
|
<data name="consents" xml:space="preserve">
|
||||||
|
<value>Consents</value>
|
||||||
|
</data>
|
||||||
|
<data name="credential_is_updated" xml:space="preserve">
|
||||||
|
<value>Credential has been updated</value>
|
||||||
|
</data>
|
||||||
|
<data name="deviceauth" xml:space="preserve">
|
||||||
|
<value>Device Authentication</value>
|
||||||
|
</data>
|
||||||
|
<data name="disconnect" xml:space="preserve">
|
||||||
|
<value>Disconnect</value>
|
||||||
|
</data>
|
||||||
|
<data name="Disconnected" xml:space="preserve">
|
||||||
|
<value>Disconnected</value>
|
||||||
|
</data>
|
||||||
|
<data name="en" xml:space="preserve">
|
||||||
|
<value>English</value>
|
||||||
|
</data>
|
||||||
|
<data name="fr" xml:space="preserve">
|
||||||
|
<value>French</value>
|
||||||
|
</data>
|
||||||
|
<data name="languages" xml:space="preserve">
|
||||||
|
<value>Languages</value>
|
||||||
|
</data>
|
||||||
|
<data name="not_allowed_to_execute_registration" xml:space="preserve">
|
||||||
|
<value>You are not allowed to execute the registration action</value>
|
||||||
|
</data>
|
||||||
|
<data name="selected_language" xml:space="preserve">
|
||||||
|
<value>Language is {0}</value>
|
||||||
|
</data>
|
||||||
|
<data name="Sessions" xml:space="preserve">
|
||||||
|
<value>Sessions</value>
|
||||||
|
</data>
|
||||||
|
<data name="UnexpectedError" xml:space="preserve">
|
||||||
|
<value>Unexpected error</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_is_created" xml:space="preserve">
|
||||||
|
<value>User is created</value>
|
||||||
|
</data>
|
||||||
|
<data name="YouAreDisconnected" xml:space="preserve">
|
||||||
|
<value>You are disconnected</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
360
Resources/ProfileResource.Designer.cs
generated
Normal file
360
Resources/ProfileResource.Designer.cs
generated
Normal file
@@ -0,0 +1,360 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class ProfileResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal ProfileResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.ProfileResource", typeof(ProfileResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Accept.
|
||||||
|
/// </summary>
|
||||||
|
public static string accept_access {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("accept_access", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string account_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("account_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Name.
|
||||||
|
/// </summary>
|
||||||
|
public static string account_name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("account_name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à These apps have been granted access to interact with your SimpleIdServer account. To prevent them from accessing it in the future, click on 'Revoke Access'.
|
||||||
|
/// </summary>
|
||||||
|
public static string approved_apps_description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("approved_apps_description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Approved applications.
|
||||||
|
/// </summary>
|
||||||
|
public static string approved_apps_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("approved_apps_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Authorization Details.
|
||||||
|
/// </summary>
|
||||||
|
public static string auth_details {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("auth_details", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Claims.
|
||||||
|
/// </summary>
|
||||||
|
public static string claims {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("claims", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Client.
|
||||||
|
/// </summary>
|
||||||
|
public static string client {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("client", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Created at.
|
||||||
|
/// </summary>
|
||||||
|
public static string created_at {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("created_at", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Credentials.
|
||||||
|
/// </summary>
|
||||||
|
public static string credentials {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("credentials", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Manage your credentials.
|
||||||
|
/// </summary>
|
||||||
|
public static string credentials_description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("credentials_description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Description.
|
||||||
|
/// </summary>
|
||||||
|
public static string description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Enroll credentials.
|
||||||
|
/// </summary>
|
||||||
|
public static string enroll_credentials {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("enroll_credentials", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Link one or more external accounts to your profile.
|
||||||
|
/// </summary>
|
||||||
|
public static string external_accounts_description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("external_accounts_description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à External accounts.
|
||||||
|
/// </summary>
|
||||||
|
public static string external_accounts_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("external_accounts_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Grant datetime.
|
||||||
|
/// </summary>
|
||||||
|
public static string grant_time {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("grant_time", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Name.
|
||||||
|
/// </summary>
|
||||||
|
public static string name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à All the credentials have been enrolled.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_credentials_to_create {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_credentials_to_create", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no credential to update.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_credentials_to_update {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_credentials_to_update", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no external account configured.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_external_accounts {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_external_accounts", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à One Time Password is not configured.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_otp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_otp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no pending request.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_pending_request {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_pending_request", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Users have requested access to some of your resources. Click on 'Revoke Access' to deny pending requests..
|
||||||
|
/// </summary>
|
||||||
|
public static string pending_request_description {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("pending_request_description", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Pending requests.
|
||||||
|
/// </summary>
|
||||||
|
public static string pending_request_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("pending_request_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à One Time Password.
|
||||||
|
/// </summary>
|
||||||
|
public static string qrcode_otp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("qrcode_otp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Requester.
|
||||||
|
/// </summary>
|
||||||
|
public static string requester {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("requester", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Resource.
|
||||||
|
/// </summary>
|
||||||
|
public static string resource {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("resource", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Revoke access.
|
||||||
|
/// </summary>
|
||||||
|
public static string revoke_access {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("revoke_access", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Scopes.
|
||||||
|
/// </summary>
|
||||||
|
public static string scopes {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("scopes", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Subject.
|
||||||
|
/// </summary>
|
||||||
|
public static string subject {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("subject", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Profile.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Unlink.
|
||||||
|
/// </summary>
|
||||||
|
public static string unlink {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unlink", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Update your credentials.
|
||||||
|
/// </summary>
|
||||||
|
public static string update_your_credentials {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update_your_credentials", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
219
Resources/ProfileResource.resx
Normal file
219
Resources/ProfileResource.resx
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="accept_access" xml:space="preserve">
|
||||||
|
<value>Accept</value>
|
||||||
|
</data>
|
||||||
|
<data name="account_login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="account_name" xml:space="preserve">
|
||||||
|
<value>Name</value>
|
||||||
|
</data>
|
||||||
|
<data name="approved_apps_description" xml:space="preserve">
|
||||||
|
<value>These apps have been granted access to interact with your SimpleIdServer account. To prevent them from accessing it in the future, click on 'Revoke Access'</value>
|
||||||
|
</data>
|
||||||
|
<data name="approved_apps_title" xml:space="preserve">
|
||||||
|
<value>Approved applications</value>
|
||||||
|
</data>
|
||||||
|
<data name="auth_details" xml:space="preserve">
|
||||||
|
<value>Authorization Details</value>
|
||||||
|
</data>
|
||||||
|
<data name="claims" xml:space="preserve">
|
||||||
|
<value>Claims</value>
|
||||||
|
</data>
|
||||||
|
<data name="client" xml:space="preserve">
|
||||||
|
<value>Client</value>
|
||||||
|
</data>
|
||||||
|
<data name="created_at" xml:space="preserve">
|
||||||
|
<value>Created at</value>
|
||||||
|
</data>
|
||||||
|
<data name="credentials" xml:space="preserve">
|
||||||
|
<value>Credentials</value>
|
||||||
|
</data>
|
||||||
|
<data name="credentials_description" xml:space="preserve">
|
||||||
|
<value>Manage your credentials</value>
|
||||||
|
</data>
|
||||||
|
<data name="description" xml:space="preserve">
|
||||||
|
<value>Description</value>
|
||||||
|
</data>
|
||||||
|
<data name="enroll_credentials" xml:space="preserve">
|
||||||
|
<value>Enroll credentials</value>
|
||||||
|
</data>
|
||||||
|
<data name="external_accounts_description" xml:space="preserve">
|
||||||
|
<value>Link one or more external accounts to your profile</value>
|
||||||
|
</data>
|
||||||
|
<data name="external_accounts_title" xml:space="preserve">
|
||||||
|
<value>External accounts</value>
|
||||||
|
</data>
|
||||||
|
<data name="grant_time" xml:space="preserve">
|
||||||
|
<value>Grant datetime</value>
|
||||||
|
</data>
|
||||||
|
<data name="name" xml:space="preserve">
|
||||||
|
<value>Name</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_credentials_to_create" xml:space="preserve">
|
||||||
|
<value>All the credentials have been enrolled</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_credentials_to_update" xml:space="preserve">
|
||||||
|
<value>There is no credential to update</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_external_accounts" xml:space="preserve">
|
||||||
|
<value>There is no external account configured</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_otp" xml:space="preserve">
|
||||||
|
<value>One Time Password is not configured</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_pending_request" xml:space="preserve">
|
||||||
|
<value>There is no pending request</value>
|
||||||
|
</data>
|
||||||
|
<data name="pending_request_description" xml:space="preserve">
|
||||||
|
<value>Users have requested access to some of your resources. Click on 'Revoke Access' to deny pending requests.</value>
|
||||||
|
</data>
|
||||||
|
<data name="pending_request_title" xml:space="preserve">
|
||||||
|
<value>Pending requests</value>
|
||||||
|
</data>
|
||||||
|
<data name="qrcode_otp" xml:space="preserve">
|
||||||
|
<value>One Time Password</value>
|
||||||
|
</data>
|
||||||
|
<data name="requester" xml:space="preserve">
|
||||||
|
<value>Requester</value>
|
||||||
|
</data>
|
||||||
|
<data name="resource" xml:space="preserve">
|
||||||
|
<value>Resource</value>
|
||||||
|
</data>
|
||||||
|
<data name="revoke_access" xml:space="preserve">
|
||||||
|
<value>Revoke access</value>
|
||||||
|
</data>
|
||||||
|
<data name="scopes" xml:space="preserve">
|
||||||
|
<value>Scopes</value>
|
||||||
|
</data>
|
||||||
|
<data name="subject" xml:space="preserve">
|
||||||
|
<value>Subject</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Profile</value>
|
||||||
|
</data>
|
||||||
|
<data name="unlink" xml:space="preserve">
|
||||||
|
<value>Unlink</value>
|
||||||
|
</data>
|
||||||
|
<data name="update_your_credentials" xml:space="preserve">
|
||||||
|
<value>Update your credentials</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
252
Resources/RegisterEmailResource.Designer.cs
generated
Normal file
252
Resources/RegisterEmailResource.Designer.cs
generated
Normal file
@@ -0,0 +1,252 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class RegisterEmailResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal RegisterEmailResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.RegisterEmailResource", typeof(RegisterEmailResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Action is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string action_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("action_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Create.
|
||||||
|
/// </summary>
|
||||||
|
public static string create {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("create", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email.
|
||||||
|
/// </summary>
|
||||||
|
public static string email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email is enrolled.
|
||||||
|
/// </summary>
|
||||||
|
public static string email_is_enrolled {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("email_is_enrolled", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Action is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_action {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_action", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is not correct.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_confirmation_code {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_confirmation_code", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The email is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string otpcode_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("otpcode_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is not a number.
|
||||||
|
/// </summary>
|
||||||
|
public static string otpcode_not_number {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("otpcode_not_number", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is sent.
|
||||||
|
/// </summary>
|
||||||
|
public static string otpcode_sent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("otpcode_sent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string register {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register a user.
|
||||||
|
/// </summary>
|
||||||
|
public static string register_email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register_email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Send confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string sendconfirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("sendconfirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Update.
|
||||||
|
/// </summary>
|
||||||
|
public static string update {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Update your email.
|
||||||
|
/// </summary>
|
||||||
|
public static string update_email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update_email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with the same name already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User is created.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_is_created {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_is_created", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with the same email already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string value_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("value_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Email is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string value_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("value_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
183
Resources/RegisterEmailResource.resx
Normal file
183
Resources/RegisterEmailResource.resx
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="action_missing" xml:space="preserve">
|
||||||
|
<value>Action is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="create" xml:space="preserve">
|
||||||
|
<value>Create</value>
|
||||||
|
</data>
|
||||||
|
<data name="email" xml:space="preserve">
|
||||||
|
<value>Email</value>
|
||||||
|
</data>
|
||||||
|
<data name="email_is_enrolled" xml:space="preserve">
|
||||||
|
<value>Email is enrolled</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_action" xml:space="preserve">
|
||||||
|
<value>Action is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_confirmation_code" xml:space="preserve">
|
||||||
|
<value>Confirmation code is not correct</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_email" xml:space="preserve">
|
||||||
|
<value>The email is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="otpcode_missing" xml:space="preserve">
|
||||||
|
<value>Confirmation code is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="otpcode_not_number" xml:space="preserve">
|
||||||
|
<value>Confirmation code is not a number</value>
|
||||||
|
</data>
|
||||||
|
<data name="otpcode_sent" xml:space="preserve">
|
||||||
|
<value>Confirmation code is sent</value>
|
||||||
|
</data>
|
||||||
|
<data name="register" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="register_email" xml:space="preserve">
|
||||||
|
<value>Register a user</value>
|
||||||
|
</data>
|
||||||
|
<data name="sendconfirmationcode" xml:space="preserve">
|
||||||
|
<value>Send confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="update" xml:space="preserve">
|
||||||
|
<value>Update</value>
|
||||||
|
</data>
|
||||||
|
<data name="update_email" xml:space="preserve">
|
||||||
|
<value>Update your email</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_exists" xml:space="preserve">
|
||||||
|
<value>User with the same name already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_is_created" xml:space="preserve">
|
||||||
|
<value>User is created</value>
|
||||||
|
</data>
|
||||||
|
<data name="value_exists" xml:space="preserve">
|
||||||
|
<value>User with the same email already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="value_missing" xml:space="preserve">
|
||||||
|
<value>Email is missing</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
207
Resources/RegisterPwdResource.Designer.cs
generated
Normal file
207
Resources/RegisterPwdResource.Designer.cs
generated
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class RegisterPwdResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal RegisterPwdResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.RegisterPwdResource", typeof(RegisterPwdResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation password.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmed_password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmed_password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmed password is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmed_password_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmed_password_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Create.
|
||||||
|
/// </summary>
|
||||||
|
public static string create {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("create", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The reset link is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string InvalidResetLink {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("InvalidResetLink", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string login_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Password.
|
||||||
|
/// </summary>
|
||||||
|
public static string password {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("password", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Password is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string password_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("password_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Mismatch between the password and the confirmed password.
|
||||||
|
/// </summary>
|
||||||
|
public static string password_no_match {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("password_no_match", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Password is updated.
|
||||||
|
/// </summary>
|
||||||
|
public static string pwd_updated {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("pwd_updated", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register the user.
|
||||||
|
/// </summary>
|
||||||
|
public static string register_pwd {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register_pwd", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string register_title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register_title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Update.
|
||||||
|
/// </summary>
|
||||||
|
public static string update {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Update your password.
|
||||||
|
/// </summary>
|
||||||
|
public static string update_pwd {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update_pwd", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User is created.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_created {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_created", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with the same name already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
168
Resources/RegisterPwdResource.resx
Normal file
168
Resources/RegisterPwdResource.resx
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="confirmed_password" xml:space="preserve">
|
||||||
|
<value>Confirmation password</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmed_password_missing" xml:space="preserve">
|
||||||
|
<value>Confirmed password is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="create" xml:space="preserve">
|
||||||
|
<value>Create</value>
|
||||||
|
</data>
|
||||||
|
<data name="login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="login_missing" xml:space="preserve">
|
||||||
|
<value>Login is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="password" xml:space="preserve">
|
||||||
|
<value>Password</value>
|
||||||
|
</data>
|
||||||
|
<data name="password_missing" xml:space="preserve">
|
||||||
|
<value>Password is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="password_no_match" xml:space="preserve">
|
||||||
|
<value>Mismatch between the password and the confirmed password</value>
|
||||||
|
</data>
|
||||||
|
<data name="pwd_updated" xml:space="preserve">
|
||||||
|
<value>Password is updated</value>
|
||||||
|
</data>
|
||||||
|
<data name="register_pwd" xml:space="preserve">
|
||||||
|
<value>Register the user</value>
|
||||||
|
</data>
|
||||||
|
<data name="register_title" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="update" xml:space="preserve">
|
||||||
|
<value>Update</value>
|
||||||
|
</data>
|
||||||
|
<data name="update_pwd" xml:space="preserve">
|
||||||
|
<value>Update your password</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_created" xml:space="preserve">
|
||||||
|
<value>User is created</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_exists" xml:space="preserve">
|
||||||
|
<value>User with the same name already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="InvalidResetLink" xml:space="preserve">
|
||||||
|
<value>The reset link is invalid</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
243
Resources/RegisterSmsResource.Designer.cs
generated
Normal file
243
Resources/RegisterSmsResource.Designer.cs
generated
Normal file
@@ -0,0 +1,243 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class RegisterSmsResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal RegisterSmsResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.RegisterSmsResource", typeof(RegisterSmsResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Action is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string action_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("action_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string confirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("confirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Create.
|
||||||
|
/// </summary>
|
||||||
|
public static string create {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("create", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Action is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_action {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_action", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is not correct.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_confirmation_code {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_confirmation_code", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string otpcode_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("otpcode_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is not a number.
|
||||||
|
/// </summary>
|
||||||
|
public static string otpcode_not_number {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("otpcode_not_number", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Confirmation code is sent.
|
||||||
|
/// </summary>
|
||||||
|
public static string otpcode_sent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("otpcode_sent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Phone number.
|
||||||
|
/// </summary>
|
||||||
|
public static string phonenumber {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("phonenumber", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string register {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register a user.
|
||||||
|
/// </summary>
|
||||||
|
public static string register_sms {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register_sms", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Send confirmation code.
|
||||||
|
/// </summary>
|
||||||
|
public static string sendconfirmationcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("sendconfirmationcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Phone number is enrolled.
|
||||||
|
/// </summary>
|
||||||
|
public static string sms_is_enrolled {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("sms_is_enrolled", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Update.
|
||||||
|
/// </summary>
|
||||||
|
public static string update {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Enroll your phone.
|
||||||
|
/// </summary>
|
||||||
|
public static string update_sms {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("update_sms", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with the same name already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User is created.
|
||||||
|
/// </summary>
|
||||||
|
public static string user_is_created {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("user_is_created", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à User with the same phone number already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string value_exists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("value_exists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Phone number is missing.
|
||||||
|
/// </summary>
|
||||||
|
public static string value_missing {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("value_missing", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
180
Resources/RegisterSmsResource.resx
Normal file
180
Resources/RegisterSmsResource.resx
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="action_missing" xml:space="preserve">
|
||||||
|
<value>Action is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="confirmationcode" xml:space="preserve">
|
||||||
|
<value>Confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="create" xml:space="preserve">
|
||||||
|
<value>Create</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_action" xml:space="preserve">
|
||||||
|
<value>Action is invalid</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_confirmation_code" xml:space="preserve">
|
||||||
|
<value>Confirmation code is not correct</value>
|
||||||
|
</data>
|
||||||
|
<data name="otpcode_missing" xml:space="preserve">
|
||||||
|
<value>Confirmation code is missing</value>
|
||||||
|
</data>
|
||||||
|
<data name="otpcode_not_number" xml:space="preserve">
|
||||||
|
<value>Confirmation code is not a number</value>
|
||||||
|
</data>
|
||||||
|
<data name="otpcode_sent" xml:space="preserve">
|
||||||
|
<value>Confirmation code is sent</value>
|
||||||
|
</data>
|
||||||
|
<data name="phonenumber" xml:space="preserve">
|
||||||
|
<value>Phone number</value>
|
||||||
|
</data>
|
||||||
|
<data name="register" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="register_sms" xml:space="preserve">
|
||||||
|
<value>Register a user</value>
|
||||||
|
</data>
|
||||||
|
<data name="sendconfirmationcode" xml:space="preserve">
|
||||||
|
<value>Send confirmation code</value>
|
||||||
|
</data>
|
||||||
|
<data name="sms_is_enrolled" xml:space="preserve">
|
||||||
|
<value>Phone number is enrolled</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="update" xml:space="preserve">
|
||||||
|
<value>Update</value>
|
||||||
|
</data>
|
||||||
|
<data name="update_sms" xml:space="preserve">
|
||||||
|
<value>Enroll your phone</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_exists" xml:space="preserve">
|
||||||
|
<value>User with the same name already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="user_is_created" xml:space="preserve">
|
||||||
|
<value>User is created</value>
|
||||||
|
</data>
|
||||||
|
<data name="value_exists" xml:space="preserve">
|
||||||
|
<value>User with the same phone number already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="value_missing" xml:space="preserve">
|
||||||
|
<value>Phone number is missing</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
108
Resources/RegisterVpResource.Designer.cs
generated
Normal file
108
Resources/RegisterVpResource.Designer.cs
generated
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class RegisterVpResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal RegisterVpResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.RegisterVpResource", typeof(RegisterVpResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Verifiable credentials are enrolled.
|
||||||
|
/// </summary>
|
||||||
|
public static string credential_added {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("credential_added", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Enroll your verifiable credentials.
|
||||||
|
/// </summary>
|
||||||
|
public static string enroll_vp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("enroll_vp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string register {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("register", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à QR code.
|
||||||
|
/// </summary>
|
||||||
|
public static string scan_mobileapp {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("scan_mobileapp", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Register.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
135
Resources/RegisterVpResource.resx
Normal file
135
Resources/RegisterVpResource.resx
Normal file
@@ -0,0 +1,135 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="credential_added" xml:space="preserve">
|
||||||
|
<value>Verifiable credentials are enrolled</value>
|
||||||
|
</data>
|
||||||
|
<data name="enroll_vp" xml:space="preserve">
|
||||||
|
<value>Enroll your verifiable credentials</value>
|
||||||
|
</data>
|
||||||
|
<data name="register" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
<data name="scan_mobileapp" xml:space="preserve">
|
||||||
|
<value>QR code</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Register</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
153
Resources/ResetPasswordResource.Designer.cs
generated
Normal file
153
Resources/ResetPasswordResource.Designer.cs
generated
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class ResetPasswordResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal ResetPasswordResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.ResetPasswordResource", typeof(ResetPasswordResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à An unexpected exception occurred while trying to send the verification code.
|
||||||
|
/// </summary>
|
||||||
|
public static string cannot_send_otpcode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("cannot_send_otpcode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The destination doesn't match with yours.
|
||||||
|
/// </summary>
|
||||||
|
public static string invalid_destination {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("invalid_destination", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login.
|
||||||
|
/// </summary>
|
||||||
|
public static string login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The destination is not configured in your account.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_destination {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_destination", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Login is required.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_login {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_login", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Destination is required.
|
||||||
|
/// </summary>
|
||||||
|
public static string missing_value {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("missing_value", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The reset link has been sent. Please check your {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string reset_link_sent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("reset_link_sent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Send link.
|
||||||
|
/// </summary>
|
||||||
|
public static string send_link {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("send_link", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Reset your password.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à The login is invalid.
|
||||||
|
/// </summary>
|
||||||
|
public static string unknown_user {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("unknown_user", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
150
Resources/ResetPasswordResource.resx
Normal file
150
Resources/ResetPasswordResource.resx
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="cannot_send_otpcode" xml:space="preserve">
|
||||||
|
<value>An unexpected exception occurred while trying to send the verification code</value>
|
||||||
|
</data>
|
||||||
|
<data name="invalid_destination" xml:space="preserve">
|
||||||
|
<value>The destination doesn't match with yours</value>
|
||||||
|
</data>
|
||||||
|
<data name="login" xml:space="preserve">
|
||||||
|
<value>Login</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_destination" xml:space="preserve">
|
||||||
|
<value>The destination is not configured in your account</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_login" xml:space="preserve">
|
||||||
|
<value>Login is required</value>
|
||||||
|
</data>
|
||||||
|
<data name="missing_value" xml:space="preserve">
|
||||||
|
<value>Destination is required</value>
|
||||||
|
</data>
|
||||||
|
<data name="reset_link_sent" xml:space="preserve">
|
||||||
|
<value>The reset link has been sent. Please check your {0}</value>
|
||||||
|
</data>
|
||||||
|
<data name="send_link" xml:space="preserve">
|
||||||
|
<value>Send link</value>
|
||||||
|
</data>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Reset your password</value>
|
||||||
|
</data>
|
||||||
|
<data name="unknown_user" xml:space="preserve">
|
||||||
|
<value>The login is invalid</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
117
Resources/ScopesResource.Designer.cs
generated
Normal file
117
Resources/ScopesResource.Designer.cs
generated
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class ScopesResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal ScopesResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.ScopesResource", typeof(ScopesResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Access to the address.
|
||||||
|
/// </summary>
|
||||||
|
public static string address {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("address", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Access to the email.
|
||||||
|
/// </summary>
|
||||||
|
public static string email {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("email", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Offline access.
|
||||||
|
/// </summary>
|
||||||
|
public static string offline_access {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("offline_access", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Access to user identifier.
|
||||||
|
/// </summary>
|
||||||
|
public static string openid {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("openid", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Access to the phone.
|
||||||
|
/// </summary>
|
||||||
|
public static string phone {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("phone", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Access to the profile.
|
||||||
|
/// </summary>
|
||||||
|
public static string profile {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("profile", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
138
Resources/ScopesResource.resx
Normal file
138
Resources/ScopesResource.resx
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="address" xml:space="preserve">
|
||||||
|
<value>Access to the address</value>
|
||||||
|
</data>
|
||||||
|
<data name="email" xml:space="preserve">
|
||||||
|
<value>Access to the email</value>
|
||||||
|
</data>
|
||||||
|
<data name="offline_access" xml:space="preserve">
|
||||||
|
<value>Offline access</value>
|
||||||
|
</data>
|
||||||
|
<data name="openid" xml:space="preserve">
|
||||||
|
<value>Access to user identifier</value>
|
||||||
|
</data>
|
||||||
|
<data name="phone" xml:space="preserve">
|
||||||
|
<value>Access to the phone</value>
|
||||||
|
</data>
|
||||||
|
<data name="profile" xml:space="preserve">
|
||||||
|
<value>Access to the profile</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
99
Resources/SessionsResource.Designer.cs
generated
Normal file
99
Resources/SessionsResource.Designer.cs
generated
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// Ce code a été généré par un outil.
|
||||||
|
// Version du runtime :4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
|
||||||
|
// le code est régénéré.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace SimpleIdp.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
|
||||||
|
/// </summary>
|
||||||
|
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
|
||||||
|
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
|
||||||
|
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
|
||||||
|
// avec l'option /str ou régénérez votre projet VS.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
public class SessionsResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal SessionsResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SimpleIdp.Resources.SessionsResource", typeof(SessionsResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
|
||||||
|
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
public static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à There is no session.
|
||||||
|
/// </summary>
|
||||||
|
public static string no_session {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("no_session", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Sessions in the realm '{0}'.
|
||||||
|
/// </summary>
|
||||||
|
public static string realm {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("realm", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Revoke.
|
||||||
|
/// </summary>
|
||||||
|
public static string revoke {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("revoke", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Recherche une chaîne localisée semblable à Choose a session.
|
||||||
|
/// </summary>
|
||||||
|
public static string title {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("title", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
132
Resources/SessionsResource.resx
Normal file
132
Resources/SessionsResource.resx
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="title" xml:space="preserve">
|
||||||
|
<value>Choose a session</value>
|
||||||
|
</data>
|
||||||
|
<data name="realm" xml:space="preserve">
|
||||||
|
<value>Sessions in the realm '{0}'</value>
|
||||||
|
</data>
|
||||||
|
<data name="revoke" xml:space="preserve">
|
||||||
|
<value>Revoke</value>
|
||||||
|
</data>
|
||||||
|
<data name="no_session" xml:space="preserve">
|
||||||
|
<value>There is no session</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
242
SimpleIdp.csproj
Normal file
242
SimpleIdp.csproj
Normal file
@@ -0,0 +1,242 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Authentication" Version="2.3.0" />
|
||||||
|
<PackageReference Include="SimpleIdServer.IdServer.Pwd" Version="6.0.*-*" />
|
||||||
|
<PackageReference Include="SimpleIdServer.IdServer" Version="6.0.*-*" />
|
||||||
|
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="2.1.175" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Update="Resources\AccountsResource.Designer.cs">
|
||||||
|
<DependentUpon>AccountsResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\AuthenticateConsoleResource.Designer.cs">
|
||||||
|
<DependentUpon>AuthenticateConsoleResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\AuthenticateEmailResource.Designer.cs">
|
||||||
|
<DependentUpon>AuthenticateEmailResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\AuthenticateMobileResource.Designer.cs">
|
||||||
|
<DependentUpon>AuthenticateMobileResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\AuthenticateOtpResource.Designer.cs">
|
||||||
|
<DependentUpon>AuthenticateOtpResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\AuthenticatePasswordResource.Designer.cs">
|
||||||
|
<DependentUpon>AuthenticatePasswordResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\AuthenticateSmsResource.Designer.cs">
|
||||||
|
<DependentUpon>AuthenticateSmsResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\AuthenticateWebauthnResource.Designer.cs">
|
||||||
|
<DependentUpon>AuthenticateWebauthnResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\BCConsentsResource.Designer.cs">
|
||||||
|
<DependentUpon>BCConsentsResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\CheckSessionResource.Designer.cs">
|
||||||
|
<DependentUpon>CheckSessionResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\ConfirmResetPasswordResource.Designer.cs">
|
||||||
|
<DependentUpon>ConfirmResetPasswordResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\ConsentsResource.Designer.cs">
|
||||||
|
<DependentUpon>ConsentsResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\CredentialsResource.Designer.cs">
|
||||||
|
<DependentUpon>CredentialsResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\DeviceCodeResource.Designer.cs">
|
||||||
|
<DependentUpon>DeviceCodeResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\ErrorsResource.Designer.cs">
|
||||||
|
<DependentUpon>ErrorsResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\HomeResource.Designer.cs">
|
||||||
|
<DependentUpon>HomeResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\LayoutResource.Designer.cs">
|
||||||
|
<DependentUpon>LayoutResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\ProfileResource.Designer.cs">
|
||||||
|
<DependentUpon>ProfileResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\RegisterEmailResource.Designer.cs">
|
||||||
|
<DependentUpon>RegisterEmailResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\RegisterPwdResource.Designer.cs">
|
||||||
|
<DependentUpon>RegisterPwdResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\RegisterSmsResource.Designer.cs">
|
||||||
|
<DependentUpon>RegisterSmsResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\RegisterVpResource.Designer.cs">
|
||||||
|
<DependentUpon>RegisterVpResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\ResetPasswordResource.Designer.cs">
|
||||||
|
<DependentUpon>ResetPasswordResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\ScopesResource.Designer.cs">
|
||||||
|
<DependentUpon>ScopesResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
<Compile Update="Resources\SessionsResource.Designer.cs">
|
||||||
|
<DependentUpon>SessionsResource.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Update="Resources\AccountsResource.resx">
|
||||||
|
<LastGenOutput>AccountsResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\AuthenticateConsoleResource.resx">
|
||||||
|
<LastGenOutput>AuthenticateConsoleResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\AuthenticateEmailResource.resx">
|
||||||
|
<LastGenOutput>AuthenticateEmailResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\AuthenticateMobileResource.resx">
|
||||||
|
<LastGenOutput>AuthenticateMobileResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\AuthenticateOtpResource.resx">
|
||||||
|
<LastGenOutput>AuthenticateOtpResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\AuthenticatePasswordResource.resx">
|
||||||
|
<LastGenOutput>AuthenticatePasswordResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\AuthenticateSmsResource.resx">
|
||||||
|
<LastGenOutput>AuthenticateSmsResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\AuthenticateWebauthnResource.resx">
|
||||||
|
<LastGenOutput>AuthenticateWebauthnResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\BCConsentsResource.resx">
|
||||||
|
<LastGenOutput>BCConsentsResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\CheckSessionResource.resx">
|
||||||
|
<LastGenOutput>CheckSessionResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ConfirmResetPasswordResource.resx">
|
||||||
|
<LastGenOutput>ConfirmResetPasswordResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ConsentsResource.resx">
|
||||||
|
<LastGenOutput>ConsentsResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\CredentialsResource.resx">
|
||||||
|
<LastGenOutput>CredentialsResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\DeviceCodeResource.resx">
|
||||||
|
<LastGenOutput>DeviceCodeResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ErrorsResource.resx">
|
||||||
|
<LastGenOutput>ErrorsResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\HomeResource.resx">
|
||||||
|
<LastGenOutput>HomeResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\LayoutResource.resx">
|
||||||
|
<LastGenOutput>LayoutResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ProfileResource.resx">
|
||||||
|
<LastGenOutput>ProfileResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\RegisterEmailResource.resx">
|
||||||
|
<LastGenOutput>RegisterEmailResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\RegisterPwdResource.resx">
|
||||||
|
<LastGenOutput>RegisterPwdResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\RegisterSmsResource.resx">
|
||||||
|
<LastGenOutput>RegisterSmsResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\RegisterVpResource.resx">
|
||||||
|
<LastGenOutput>RegisterVpResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ResetPasswordResource.resx">
|
||||||
|
<LastGenOutput>ResetPasswordResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ScopesResource.resx">
|
||||||
|
<LastGenOutput>ScopesResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\SessionsResource.resx">
|
||||||
|
<LastGenOutput>SessionsResource.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
24
SimpleIdp.sln
Normal file
24
SimpleIdp.sln
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.5.2.0
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimpleIdp", "SimpleIdp.csproj", "{C962C62B-F4DA-ED13-F4C4-819534040A9C}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{C962C62B-F4DA-ED13-F4C4-819534040A9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{C962C62B-F4DA-ED13-F4C4-819534040A9C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C962C62B-F4DA-ED13-F4C4-819534040A9C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{C962C62B-F4DA-ED13-F4C4-819534040A9C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {D8E51D12-5648-428D-B777-ABC8AA37C956}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
69
Views/Accounts/Index.cshtml
Normal file
69
Views/Accounts/Index.cshtml
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
@using SimpleIdp.Resources
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.AccountsIndexViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = AccountsResource.select_session;
|
||||||
|
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<h1>@AccountsResource.active_sessions</h1>
|
||||||
|
|
||||||
|
@if (!string.IsNullOrWhiteSpace(ViewBag.IsUserAccountSwitched))
|
||||||
|
{
|
||||||
|
<div class="alert alert-success">@AccountsResource.useraccount_switched</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (!string.IsNullOrWhiteSpace(ViewBag.IsSessionRejected))
|
||||||
|
{
|
||||||
|
<div class="alert alert-success">@AccountsResource.useraccount_rejected</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
@{
|
||||||
|
int i = 0;
|
||||||
|
foreach (var account in Model.Accounts)
|
||||||
|
{
|
||||||
|
i++;
|
||||||
|
string rejectFormId = "reject-" + i;
|
||||||
|
<div class="col-md-4">
|
||||||
|
@using (Html.BeginForm("Index", "Accounts", FormMethod.Post))
|
||||||
|
{
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
<div class="card">
|
||||||
|
<input type="hidden" name="AccountName" value="@account.Name" />
|
||||||
|
<input type="hidden" name="ReturnUrl" value="@Model.ReturnUrl" />
|
||||||
|
<input type="hidden" name="Action" value="Choose" />
|
||||||
|
<div class="card-header">@account.Name</div>
|
||||||
|
<div class="card-body">
|
||||||
|
@if (account.IssuedUtc != null)
|
||||||
|
{
|
||||||
|
<p>
|
||||||
|
@string.Format(AccountsResource.authentication_time, account.IssuedUtc.Value.ToString("s"))
|
||||||
|
</p>
|
||||||
|
}
|
||||||
|
@if (account.ExpiresUct != null)
|
||||||
|
{
|
||||||
|
<p>
|
||||||
|
@string.Format(AccountsResource.expiration_time, account.ExpiresUct.Value.ToString("s"))
|
||||||
|
</p>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
<div class="card-footer d-flex justify-content-between">
|
||||||
|
<input type="submit" class="btn btn-primary" value="@AccountsResource.choose_session" />
|
||||||
|
<input type="submit" class="btn btn-danger" form="@rejectFormId" value="@AccountsResource.reject" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
@using (Html.BeginForm("Index", "Accounts", FormMethod.Post, new { id = rejectFormId }))
|
||||||
|
{
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
<input type="hidden" name="AccountName" value="@account.Name" />
|
||||||
|
<input type="hidden" name="ReturnUrl" value="@Model.ReturnUrl" />
|
||||||
|
<input type="hidden" name="Action" value="Reject" />
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</div>
|
||||||
74
Views/BackChannelConsents/Index.cshtml
Normal file
74
Views/BackChannelConsents/Index.cshtml
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
@using SimpleIdp.Resources
|
||||||
|
@using SimpleIdServer.IdServer.UI.ViewModels
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.BCConsentsIndexViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = LayoutResource.consents;
|
||||||
|
Layout = "~/Views/Shared/_CommonLayout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="consentContainer">
|
||||||
|
<div class="card consent">
|
||||||
|
<div class="card-body">
|
||||||
|
@if(Model.IsConfirmed)
|
||||||
|
{
|
||||||
|
<div class="alert alert-success">
|
||||||
|
@(Model.ConfirmationStatus == ConfirmationStatus.CONFIRMED ? BCConsentsResource.consent_confirmed : BCConsentsResource.consent_rejected)
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<form method="post" action="@Url.Action("Reject", "BackChannelConsents")" id="rejectForm">
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
<input name="ReturnUrl" type="hidden" value="@Model.ReturnUrl" />
|
||||||
|
<input name="IsRejected" type="hidden" value="true" />
|
||||||
|
</form>
|
||||||
|
@using (Html.BeginForm("Index", "BackChannelConsents", FormMethod.Post))
|
||||||
|
{
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
@if (!ViewData.ModelState.IsValid)
|
||||||
|
{
|
||||||
|
<ul class="list-group">
|
||||||
|
@foreach (var modelState in ViewData.ModelState.Values)
|
||||||
|
{
|
||||||
|
foreach (var error in modelState.Errors)
|
||||||
|
{
|
||||||
|
<li class="list-group-item list-group-item-danger">@BCConsentsResource.ResourceManager.GetString(error.ErrorMessage)</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
}
|
||||||
|
|
||||||
|
<input type="hidden" value="@Model.ReturnUrl" name="ReturnUrl" />
|
||||||
|
<input name="IsRejected" type="hidden" value="false" />
|
||||||
|
|
||||||
|
<h5>@string.Format(BCConsentsResource.consent_client_access, Model.ClientName)</h5>
|
||||||
|
<ul class="list-group">
|
||||||
|
@if (!string.IsNullOrWhiteSpace(Model.BindingMessage))
|
||||||
|
{
|
||||||
|
<li class="list-group-item"><b>@BCConsentsResource.message</b> : @Model.BindingMessage</li>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if(Model.Scopes == null || !Model.Scopes.Any())
|
||||||
|
{
|
||||||
|
<li class="list-group-item"><b>@BCConsentsResource.scopes</b> : @string.Join(",", Model.Scopes)</li>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if(Model.AuthorizationDetails != null && Model.AuthorizationDetails.Any())
|
||||||
|
{
|
||||||
|
foreach(var authDetail in Model.AuthorizationDetails)
|
||||||
|
{
|
||||||
|
<li class="list-group-item"><b>@authDetail.Type</b> : @string.Join(",", authDetail.Actions)</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button type="submit" class="btn btn-success card-link">@BCConsentsResource.confirm</button>
|
||||||
|
<button type="submit" form="rejectForm" class="btn btn-danger">@BCConsentsResource.reject</button>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
41
Views/CheckSession/EndSession.cshtml
Normal file
41
Views/CheckSession/EndSession.cshtml
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
@using Microsoft.Extensions.Options;
|
||||||
|
@using SimpleIdServer.IdServer.Options;
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.RevokeSessionViewModel
|
||||||
|
@inject IOptions<IdServerHostOptions> options
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = CheckSessionResource.revoke_session_title;
|
||||||
|
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
@foreach (var frontChannelLogout in Model.FrontChannelLogouts)
|
||||||
|
{
|
||||||
|
<iframe src="@frontChannelLogout" style="display: none"></iframe>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if(Model.RedirectToRevokeSessionUI)
|
||||||
|
{
|
||||||
|
<a href="@Model.RevokeSessionCallbackUrl" class="btn btn-danger">@CheckSessionResource.revoke_session_title</a>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<div class="alert alert-info">
|
||||||
|
<p>@string.Format(CheckSessionResource.session_being_revoked, (options.Value.EndSessionRedirectionTimeInMS / 1000))</p>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
var isRedirected = '@Model.RedirectToRevokeSessionUI.ToString().ToLowerInvariant()' == 'false';
|
||||||
|
var callback = '@Html.Raw(Model.RevokeSessionCallbackUrl)';
|
||||||
|
var timeMS = parseInt('@options.Value.EndSessionRedirectionTimeInMS');
|
||||||
|
if(isRedirected) {
|
||||||
|
setTimeout(() => {
|
||||||
|
window.location.replace(callback);
|
||||||
|
}, timeMS);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
}
|
||||||
92
Views/Consents/Index.cshtml
Normal file
92
Views/Consents/Index.cshtml
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
@using SimpleIdServer.IdServer.DTOs
|
||||||
|
@using SimpleIdServer.IdServer.Domains;
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.ConsentsIndexViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = LayoutResource.consents;
|
||||||
|
Layout = "~/Views/Shared/_CommonLayout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="consentContainer">
|
||||||
|
<div class="card consent">
|
||||||
|
<div class="card-body">
|
||||||
|
<!-- Rejection form -->
|
||||||
|
<form method="post" action="@Url.Action("Reject", "Consents")" id="rejectForm">
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
<input name="ReturnUrl" type="hidden" value="@Model.ReturnUrl" />
|
||||||
|
</form>
|
||||||
|
<div class="consentinfo">
|
||||||
|
<div class="img">
|
||||||
|
@Html.UserPicture(User)
|
||||||
|
</div>
|
||||||
|
<div class="separator"></div>
|
||||||
|
<div class="img">
|
||||||
|
@Html.ClientPicture(Model.PictureUri)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Confirmation form -->
|
||||||
|
@using (Html.BeginForm("Index", "Consents", FormMethod.Post))
|
||||||
|
{
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
@if (!ViewData.ModelState.IsValid)
|
||||||
|
{
|
||||||
|
<ul class="list-group">
|
||||||
|
@foreach (var modelState in ViewData.ModelState.Values)
|
||||||
|
{
|
||||||
|
foreach (var error in modelState.Errors)
|
||||||
|
{
|
||||||
|
<li class="list-group-item list-group-item-danger">@ConsentsResource.ResourceManager.GetString(error.ErrorMessage)</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
}
|
||||||
|
|
||||||
|
<input type="hidden" name="ReturnUrl" value="@Model.ReturnUrl" />
|
||||||
|
<h5>@string.Format(ConsentsResource.consent_client_access, Model.ClientName)</h5>
|
||||||
|
<ul class="list-group">
|
||||||
|
@if(Model.ScopeNames != null && Model.ScopeNames.Any())
|
||||||
|
{
|
||||||
|
<li class="list-group-item"><b>@ConsentsResource.scopes</b> : @string.Join(",", Model.ScopeNames)</li>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if(Model.ClaimNames != null && Model.ClaimNames.Any())
|
||||||
|
{
|
||||||
|
<li class="list-group-item"><b>@ConsentsResource.claims</b> : @string.Join(",", Model.ClaimNames)</li>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (Model.AuthorizationDetails != null && Model.AuthorizationDetails.Any())
|
||||||
|
{
|
||||||
|
foreach (var authDetail in Model.AuthorizationDetails)
|
||||||
|
{
|
||||||
|
if (authDetail.Type == AuthorizationDetailsNames.OpenIdCredential)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<li class="list-group-item">
|
||||||
|
<b>@authDetail.Type</b> : @string.Join(",", authDetail.Actions)
|
||||||
|
@if (authDetail.Locations != null && authDetail.Locations.Any())
|
||||||
|
{
|
||||||
|
<ul class="list-group">
|
||||||
|
@foreach (var location in authDetail.Locations)
|
||||||
|
{
|
||||||
|
<li class="list-group-item">@location</li>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
}
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button type="submit" class="btn btn-success card-link">@ConsentsResource.confirm</button>
|
||||||
|
<button type="submit" form="rejectForm" class="btn btn-danger">@ConsentsResource.reject</button>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
66
Views/Device/Index.cshtml
Normal file
66
Views/Device/Index.cshtml
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
@using SimpleIdServer.IdServer.Domains;
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.DeviceCodeViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = LayoutResource.deviceauth;
|
||||||
|
Layout = "~/Views/Shared/_CommonLayout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="consentContainer">
|
||||||
|
<div class="card consent">
|
||||||
|
<div class="card-body">
|
||||||
|
@if(Model.IsConfirmed)
|
||||||
|
{
|
||||||
|
<div class="alert alert-success">
|
||||||
|
@DeviceCodeResource.confirmed
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<div class="consentinfo">
|
||||||
|
<div class="img">
|
||||||
|
@Html.UserPicture(User)
|
||||||
|
</div>
|
||||||
|
<div class="separator"></div>
|
||||||
|
<div class="img">
|
||||||
|
@Html.ClientPicture(Model.PictureUri)
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Confirmation form -->
|
||||||
|
@using (Html.BeginForm("Index", "Device", FormMethod.Post))
|
||||||
|
{
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
@if (!ViewData.ModelState.IsValid)
|
||||||
|
{
|
||||||
|
<ul class="list-group">
|
||||||
|
@foreach (var modelState in ViewData.ModelState.Values)
|
||||||
|
{
|
||||||
|
foreach (var error in modelState.Errors)
|
||||||
|
{
|
||||||
|
<li class="list-group-item list-group-item-danger">@DeviceCodeResource.ResourceManager.GetString(error.ErrorMessage)</li>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
}
|
||||||
|
|
||||||
|
<h5>@string.Format(DeviceCodeResource.consent_client_access, Model.ClientName)</h5>
|
||||||
|
<ul class="list-group">
|
||||||
|
@if (Model.Scopes != null && Model.Scopes.Any())
|
||||||
|
{
|
||||||
|
<li class="list-group-item"><b>@DeviceCodeResource.scopes</b> : @string.Join(",", Model.Scopes)</li>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="input-group mb-3 mt-3">
|
||||||
|
<input type="text" value="@Model.UserCode" name="UserCode" class="form-control" placeholder="@DeviceCodeResource.usercode">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<button type="submit" class="btn btn-success card-link">@DeviceCodeResource.confirm</button>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
11
Views/Errors/Index.cshtml
Normal file
11
Views/Errors/Index.cshtml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
@using SimpleIdp.Resources
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.ErrorViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = "Error";
|
||||||
|
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
@Model.Message
|
||||||
|
</div>
|
||||||
10
Views/Errors/Unexpected.cshtml
Normal file
10
Views/Errors/Unexpected.cshtml
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
@using SimpleIdp.Resources
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = "Error";
|
||||||
|
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
@LayoutResource.UnexpectedError
|
||||||
|
</div>
|
||||||
17
Views/Home/Disconnect.cshtml
Normal file
17
Views/Home/Disconnect.cshtml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@using Microsoft.AspNetCore.Mvc.ApiExplorer;
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.DisconnectViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = LayoutResource.Disconnected;
|
||||||
|
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<h6>@LayoutResource.YouAreDisconnected</h6>
|
||||||
|
|
||||||
|
@foreach (var frontChannelLogout in Model.FrontChannelLogoutUrls)
|
||||||
|
{
|
||||||
|
<iframe src="@frontChannelLogout" style="display: none"></iframe>
|
||||||
|
}
|
||||||
|
|
||||||
|
<a href="@Url.Action("Index", "Home")" class="btn btn-primary mt-1">@LayoutResource.back</a>
|
||||||
7
Views/Home/Index.cshtml
Normal file
7
Views/Home/Index.cshtml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
@using Microsoft.AspNetCore.Mvc.ApiExplorer;
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = HomeResource.home;
|
||||||
|
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||||
|
}
|
||||||
287
Views/Home/Profile.cshtml
Normal file
287
Views/Home/Profile.cshtml
Normal file
@@ -0,0 +1,287 @@
|
|||||||
|
@using Microsoft.AspNetCore.Http;
|
||||||
|
@using SimpleIdServer.IdServer.Domains;
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@using System.Security.Claims;
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.ProfileViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = ProfileResource.title;
|
||||||
|
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||||
|
Func<string, string> getClaim = (str) =>
|
||||||
|
{
|
||||||
|
var cl = User.Claims.FirstOrDefault(c => c.Type == str);
|
||||||
|
if (cl == null) return "-";
|
||||||
|
return cl.Value;
|
||||||
|
};
|
||||||
|
var basePath = Context.Request.GetAbsoluteUriWithVirtualPath();
|
||||||
|
var returnUrl = $"{basePath}{Url.Action("Profile", "Home")}";
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="row profile gy-4">
|
||||||
|
<!-- User Information -->
|
||||||
|
<div class="col-md-3">
|
||||||
|
<div class="card shadow-sm">
|
||||||
|
<div class="card-body info">
|
||||||
|
<div class="picture">
|
||||||
|
@Html.UserPicture(User, Model.Picture, true)
|
||||||
|
<form id="pictureForm" action="@Url.Action("UpdatePicture", "Home")" method="post">
|
||||||
|
<input type="file" id="pictureFile" name="File" style="display: none" accept="image/*" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<ul>
|
||||||
|
<!-- Name identifier -->
|
||||||
|
<li>
|
||||||
|
<h6>@ProfileResource.subject</h6>
|
||||||
|
<span class="text-muted">@getClaim(ClaimTypes.NameIdentifier)</span>
|
||||||
|
</li>
|
||||||
|
<!-- Name -->
|
||||||
|
<li>
|
||||||
|
<h6>@ProfileResource.name</h6>
|
||||||
|
<span class="text-muted">@User.Identity.Name</span>
|
||||||
|
</li>
|
||||||
|
<!-- OTP Key -->
|
||||||
|
<li>
|
||||||
|
<h6>@ProfileResource.qrcode_otp</h6>
|
||||||
|
@if (!Model.HasOtpKey)
|
||||||
|
{
|
||||||
|
<div class="alert alert-warning">@ProfileResource.no_otp</div>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<div>
|
||||||
|
<img src="@Url.Action("GetOTP", "Home")" width="200px" />
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col">
|
||||||
|
<div class="row gy-4">
|
||||||
|
<!-- OPENID Consents -->
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="card shadow-sm">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5>@ProfileResource.approved_apps_title</h5>
|
||||||
|
<p>@ProfileResource.approved_apps_description</p>
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>@ProfileResource.client</th>
|
||||||
|
<th>@ProfileResource.scopes</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach (var consent in Model.Consents.OrderBy(c => c.ClientName))
|
||||||
|
{
|
||||||
|
<tr>
|
||||||
|
<td>@Html.ClientPicture(consent.ClientUri)</td>
|
||||||
|
<td class="align-middle">@(string.IsNullOrWhiteSpace(consent.ClientName) ? '-' : consent.ClientName)</td>
|
||||||
|
<td class="align-middle">
|
||||||
|
@if(consent.ScopeNames != null && consent.ScopeNames.Any())
|
||||||
|
{
|
||||||
|
foreach(var scopeName in consent.ScopeNames)
|
||||||
|
{
|
||||||
|
<span class="badge bg-secondary">@scopeName</span>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<span>-</span>
|
||||||
|
}
|
||||||
|
</td>
|
||||||
|
<td class="align-middle">
|
||||||
|
<a href="@Url.Action("RejectConsent", "Home", new { consentId = consent.ConsentId })" class="btn btn-danger">@ProfileResource.revoke_access</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Pending requests -->
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="card shadow-sm">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5>@ProfileResource.pending_request_title</h5>
|
||||||
|
<p>@ProfileResource.pending_request_description</p>
|
||||||
|
@if(Model.PendingRequests != null && Model.PendingRequests.Any())
|
||||||
|
{
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>@ProfileResource.resource</th>
|
||||||
|
<th>@ProfileResource.scopes</th>
|
||||||
|
<th>@ProfileResource.requester</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach (var consent in Model.PendingRequests.Where(p => p.Owner == getClaim(ClaimTypes.NameIdentifier) && p.Status == UMAPendingRequestStatus.TOBECONFIRMED).OrderByDescending(u => u.CreateDateTime))
|
||||||
|
{
|
||||||
|
<tr>
|
||||||
|
<td>@(string.IsNullOrWhiteSpace(consent.ResourceName) ? '-' : consent.ResourceName)</td>
|
||||||
|
<td>
|
||||||
|
@if(consent.Scopes != null && consent.Scopes.Any())
|
||||||
|
{
|
||||||
|
<span>-</span>
|
||||||
|
}
|
||||||
|
@foreach(var scope in consent.Scopes)
|
||||||
|
{
|
||||||
|
<span class="badge bg-secondary">@scope</span>
|
||||||
|
}
|
||||||
|
</td>
|
||||||
|
<td>@consent.Requester</td>
|
||||||
|
<td>
|
||||||
|
<a href="@Url.Action("RejectUmaPendingRequest", "Home", new { ticketId = consent.TicketId})" class="btn btn-danger">@ProfileResource.revoke_access</a>
|
||||||
|
<a href="@Url.Action("ConfirmUmaPendingRequest", "Home", new { ticketId = consent.TicketId})" class="btn btn-success">@ProfileResource.accept_access</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<i>@ProfileResource.no_pending_request</i>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- External accounts -->
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="card shadow-sm">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5>@ProfileResource.external_accounts_title</h5>
|
||||||
|
<p>@ProfileResource.external_accounts_description</p>
|
||||||
|
@if (Model.Profiles != null && Model.Profiles.Any())
|
||||||
|
{
|
||||||
|
<table class="table table-striped">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>@ProfileResource.account_name</th>
|
||||||
|
<th>@ProfileResource.account_login</th>
|
||||||
|
<th>@ProfileResource.created_at</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach (var externalAccount in Model.Profiles)
|
||||||
|
{
|
||||||
|
<tr>
|
||||||
|
<td>@externalAccount.Scheme</td>
|
||||||
|
<td>@externalAccount.Subject</td>
|
||||||
|
<td>@externalAccount.CreateDateTime.ToString("dd/M/yyyy HH:mm:ss")</td>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
@using (Html.BeginForm("Unlink", "Home", FormMethod.Post))
|
||||||
|
{
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
<input type="hidden" value="@externalAccount.Subject" name="Subject" />
|
||||||
|
<input type="hidden" value="@externalAccount.Scheme" name="Scheme" />
|
||||||
|
<button type="submit" class="btn btn-danger">@ProfileResource.unlink</button>
|
||||||
|
}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<i>@ProfileResource.no_external_accounts</i>
|
||||||
|
}
|
||||||
|
|
||||||
|
<div class="mt-2">
|
||||||
|
@foreach(var extProvider in Model.ExternalIdProviders)
|
||||||
|
{
|
||||||
|
<a class="btn btn-secondary me-1" href="@Url.Action("Link", "Home", new { scheme = extProvider.AuthenticationScheme, returnUrl = returnUrl })">
|
||||||
|
@extProvider.DisplayName
|
||||||
|
</a>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Manage credentials -->
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="card shadow-sm">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5>@ProfileResource.credentials</h5>
|
||||||
|
<div>
|
||||||
|
@if(Model.AuthenticationMethods != null && Model.AuthenticationMethods.Any(m => m.IsCredentialExists))
|
||||||
|
{
|
||||||
|
<p>@ProfileResource.update_your_credentials</p>
|
||||||
|
foreach(var authenticationMethod in Model.AuthenticationMethods.Where(m => m.IsCredentialExists))
|
||||||
|
{
|
||||||
|
<a class="btn btn-secondary me-1" href="@Url.Action("RegisterCredential", "Home", new { name = authenticationMethod.Amr, redirectUrl = returnUrl })">
|
||||||
|
@authenticationMethod.Name
|
||||||
|
</a>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<p>@ProfileResource.no_credentials_to_update</p>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
@if(Model.AuthenticationMethods != null && Model.AuthenticationMethods.Any(m => !m.IsCredentialExists))
|
||||||
|
{
|
||||||
|
<p>@ProfileResource.enroll_credentials</p>
|
||||||
|
foreach (var authenticationMethod in Model.AuthenticationMethods.Where(m => !m.IsCredentialExists))
|
||||||
|
{
|
||||||
|
<a class="btn btn-secondary me-1" href="@Url.Action("RegisterCredential", "Home", new { name = authenticationMethod.Amr, redirectUrl = returnUrl })">
|
||||||
|
@authenticationMethod.Name
|
||||||
|
</a>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<p>@ProfileResource.no_credentials_to_create</p>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function () {
|
||||||
|
$("#pictureFile").on("change", function (e) {
|
||||||
|
const files = e.target.files;
|
||||||
|
if (files.length != 1) return;
|
||||||
|
const action = $("#pictureForm").attr("action");
|
||||||
|
const formData = new FormData();
|
||||||
|
formData.append('file', files[0]);
|
||||||
|
$.ajax({
|
||||||
|
url: action,
|
||||||
|
type: 'POST',
|
||||||
|
data: formData,
|
||||||
|
cache: false,
|
||||||
|
contentType: false,
|
||||||
|
processData: false,
|
||||||
|
success: function() {
|
||||||
|
var reader = new FileReader();
|
||||||
|
reader.onload = function (e) {
|
||||||
|
$('#user-picture').attr('src', e.target.result);
|
||||||
|
}
|
||||||
|
|
||||||
|
reader.readAsDataURL(files[0]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
$("#edit-profile").on('click', function () {
|
||||||
|
$("#pictureFile").trigger('click');
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
}
|
||||||
50
Views/Sessions/Index.cshtml
Normal file
50
Views/Sessions/Index.cshtml
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
@using Microsoft.AspNetCore.Mvc.ApiExplorer;
|
||||||
|
@using SimpleIdServer.IdServer.Helpers
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@model IEnumerable<SimpleIdServer.IdServer.UI.ViewModels.SessionViewModel>
|
||||||
|
|
||||||
|
@{
|
||||||
|
ViewBag.Title = SessionsResource.title;
|
||||||
|
Layout = "~/Views/Shared/_CommonLayout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<nav class="navbar navbar-expand-lg bg-primary">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="#">
|
||||||
|
<img src="~/images/SIDLogo.svg" width="40px" />
|
||||||
|
</a>
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div id="container">
|
||||||
|
@if(Model.Any())
|
||||||
|
{
|
||||||
|
var grp = Model.GroupBy(g => g.Realm);
|
||||||
|
foreach (var kvp in grp)
|
||||||
|
{
|
||||||
|
<div class="mb-2">
|
||||||
|
<h5>@string.Format(SessionsResource.realm, kvp.Key)</h5>
|
||||||
|
<ul class="list-group">
|
||||||
|
@foreach (var session in kvp)
|
||||||
|
{
|
||||||
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||||
|
<a href="@Url.Action("Index", "Home", new { prefix = kvp.Key })">@session.Name</a>
|
||||||
|
<form action="@Url.Action("Index", "Sessions", new { realm = kvp.Key, user = session.Name })" method="post">
|
||||||
|
@Html.AntiForgeryToken()
|
||||||
|
<input type="hidden" name="Realm" value="@kvp.Key" />
|
||||||
|
<input type="hidden" name="User" value="@session.Name" />
|
||||||
|
<button type="submit" class="btn btn-danger"><i class="fa-solid fa-trash" style="padding-right:5px"></i>@SessionsResource.revoke</button>
|
||||||
|
</form>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<div class="alert alert-danger">@SessionsResource.no_session</div>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
27
Views/Shared/_CommonLayout.cshtml
Normal file
27
Views/Shared/_CommonLayout.cshtml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@using System.Globalization
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>SimpleIdServer - @ViewBag.Title</title>
|
||||||
|
<link rel="stylesheet" href="@Url.Content("~/lib/bootstrap/css/bootstrap.css")" />
|
||||||
|
<link rel="stylesheet" href="@Url.Content("~/lib/fontawesome/css/all.css")" />
|
||||||
|
<link rel="stylesheet" href="@Url.Content("~/styles/theme.css")" />
|
||||||
|
<link rel="stylesheet" href="@Url.Content("~/styles/authenticate.css")" />
|
||||||
|
<link rel="stylesheet" href="@Url.Content("~/styles/consent.css")" />
|
||||||
|
<link rel="stylesheet" href="@Url.Content("~/styles/profile.css")" />
|
||||||
|
<link rel="icon" href="@Url.Content("~/images/favicon.ico")" />
|
||||||
|
</head>
|
||||||
|
<body class="orange">
|
||||||
|
@RenderBody()
|
||||||
|
<script type="text/javascript" src="@Url.Content("~/lib/jquery/jquery.js")"></script>
|
||||||
|
<script type="text/javascript" src="@Url.Content("~/lib/popper.js/umd/popper.js")"></script>
|
||||||
|
<script type="text/javascript" src="@Url.Content("~/lib/bootstrap/js/bootstrap.js")"></script>
|
||||||
|
<script type="text/javascript" src="@Url.Content("~/lib/helpers.js")"></script>
|
||||||
|
@RenderSection("Scripts", required: false)
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
82
Views/Shared/_FormBuilderLayout.cshtml
Normal file
82
Views/Shared/_FormBuilderLayout.cshtml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
@using Microsoft.AspNetCore.Components.Web
|
||||||
|
@using FormBuilder.Components
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@using System.Globalization
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.ILayoutViewModel
|
||||||
|
@namespace FormBuilder.Pages
|
||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
|
|
||||||
|
@{
|
||||||
|
var returnUrl = string.IsNullOrEmpty(Context.Request.Path) ? "~/" : $"~{Context.Request.Path.Value}{Context.Request.QueryString}";
|
||||||
|
var currentCultureInfo = CultureInfo.DefaultThreadCurrentUICulture;
|
||||||
|
string languagesLabel = LayoutResource.ResourceManager.GetString("languages");
|
||||||
|
if (currentCultureInfo != null && !string.IsNullOrWhiteSpace(currentCultureInfo.Name))
|
||||||
|
{
|
||||||
|
var str = LayoutResource.ResourceManager.GetString(currentCultureInfo.Name);
|
||||||
|
if (!string.IsNullOrWhiteSpace(str))
|
||||||
|
{
|
||||||
|
languagesLabel = string.Format(LayoutResource.ResourceManager.GetString("selected_language"), str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<base href="~/" />
|
||||||
|
<link rel="stylesheet" href="@Url.Content("~/lib/bootstrap/css/bootstrap.css")" />
|
||||||
|
<link rel="stylesheet" href="@Url.Content("~/styles/theme.css")" />
|
||||||
|
<link rel="stylesheet" href="_content/Radzen.Blazor/css/default.css">
|
||||||
|
<link rel="stylesheet" href="_content/SidFormBuilder/themes.css" />
|
||||||
|
<link rel="stylesheet" href="_content/SidFormBuilder/style.css" />
|
||||||
|
<link rel="stylesheet" href="FormBuilder.Startup.styles.css" />
|
||||||
|
@RenderSection("Header", required: false)
|
||||||
|
</head>
|
||||||
|
<body class="orange">
|
||||||
|
<nav class="navbar navbar-expand-lg bg-primary">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="#">
|
||||||
|
<img src="~/images/SIDLogo.svg" width="40px" />
|
||||||
|
</a>
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
<div class="me-auto"></div>
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" data-bs-toggle="dropdown">
|
||||||
|
@languagesLabel
|
||||||
|
</a>
|
||||||
|
<div class="dropdown-menu">
|
||||||
|
@foreach (var language in Model.Languages)
|
||||||
|
{
|
||||||
|
<form asp-controller="Home" asp-action="SwitchLanguage" asp-area="" method="post">
|
||||||
|
<input type="hidden" name="culture" value="@language.Code" />
|
||||||
|
<input type="hidden" name="returnUrl" value="@returnUrl" />
|
||||||
|
<button type="submit" class="dropdown-item" href="#">@language.Description</button>
|
||||||
|
</form>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
@RenderBody()
|
||||||
|
<script src="_framework/blazor.server.js"></script>
|
||||||
|
<script type="text/javascript" src="@Url.Content("~/lib/jquery/jquery.js")"></script>
|
||||||
|
<script type="text/javascript" src="@Url.Content("~/lib/popper.js/umd/popper.js")"></script>
|
||||||
|
<script type="text/javascript" src="@Url.Content("~/lib/bootstrap/js/bootstrap.js")"></script>
|
||||||
|
<script src="_content/Radzen.Blazor/Radzen.Blazor.js"></script>
|
||||||
|
<script src="_content/SidFormBuilder/lib.js"></script>
|
||||||
|
<script src="_content/SidFormBuilder/reCaptcha.js"></script>
|
||||||
|
<script src="_content/BlazorMonaco/jsInterop.js"></script>
|
||||||
|
<script src="_content/BlazorMonaco/lib/monaco-editor/min/vs/loader.js"></script>
|
||||||
|
<script src="_content/BlazorMonaco/lib/monaco-editor/min/vs/editor/editor.main.js"></script>
|
||||||
|
<script type="text/javascript" src="@Url.Content("~/lib/helpers.js")"></script>
|
||||||
|
@RenderSection("Scripts", required: false)
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
97
Views/Shared/_Layout.cshtml
Normal file
97
Views/Shared/_Layout.cshtml
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
|
@using SimpleIdServer.IdServer.Options
|
||||||
|
@using SimpleIdServer.IdServer.Resources
|
||||||
|
@using SimpleIdp.Resources
|
||||||
|
@using Microsoft.Extensions.Options
|
||||||
|
@using System.Globalization
|
||||||
|
@inject IOptions<IdServerHostOptions> options
|
||||||
|
@model SimpleIdServer.IdServer.UI.ViewModels.ILayoutViewModel
|
||||||
|
|
||||||
|
@{
|
||||||
|
var returnUrl = string.IsNullOrEmpty(Context.Request.Path) ? "~/" : $"~{Context.Request.Path.Value}{Context.Request.QueryString}";
|
||||||
|
var currentCultureInfo = CultureInfo.DefaultThreadCurrentUICulture;
|
||||||
|
string languagesLabel = LayoutResource.ResourceManager.GetString("languages");
|
||||||
|
if (currentCultureInfo != null && !string.IsNullOrWhiteSpace(currentCultureInfo.Name))
|
||||||
|
{
|
||||||
|
var str = LayoutResource.ResourceManager.GetString(currentCultureInfo.Name);
|
||||||
|
if (!string.IsNullOrWhiteSpace(str))
|
||||||
|
{
|
||||||
|
languagesLabel = string.Format(LayoutResource.ResourceManager.GetString("selected_language"), str);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Layout = "~/Views/Shared/_CommonLayout.cshtml";
|
||||||
|
}
|
||||||
|
|
||||||
|
<nav class="navbar navbar-expand-lg bg-primary">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<a class="navbar-brand" href="#">
|
||||||
|
<img src="~/images/SIDLogo.svg" width="40px" />
|
||||||
|
</a>
|
||||||
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent">
|
||||||
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
</button>
|
||||||
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
|
<ul class="navbar-nav me-auto">
|
||||||
|
@if (User.Identity.IsAuthenticated)
|
||||||
|
{
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="@Url.Action("Profile", "Home")">
|
||||||
|
Welcome @User.Identity.Name
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
|
||||||
|
@if (options.Value.RealmEnabled)
|
||||||
|
{
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="@Url.Action("Index", "Sessions", new { prefix = string.Empty })">
|
||||||
|
@LayoutResource.Sessions
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
@RenderSection("SubMenu", required: false)
|
||||||
|
</ul>
|
||||||
|
<ul class="navbar-nav">
|
||||||
|
@if (User.Identity.IsAuthenticated)
|
||||||
|
{
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="@Url.Action("Disconnect", "Home", new { area = "" })">@LayoutResource.disconnect</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link" href="@Url.Action("Profile", "Home", new { area = "" })">@LayoutResource.authenticate</a>
|
||||||
|
</li>
|
||||||
|
}
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" data-bs-toggle="dropdown">
|
||||||
|
@languagesLabel
|
||||||
|
</a>
|
||||||
|
<div class="dropdown-menu">
|
||||||
|
@foreach (var language in Model.Languages)
|
||||||
|
{
|
||||||
|
<form asp-controller="Home" asp-action="SwitchLanguage" asp-area="" method="post">
|
||||||
|
<input type="hidden" name="culture" value="@language.Code" />
|
||||||
|
<input type="hidden" name="returnUrl" value="@returnUrl" />
|
||||||
|
<button type="submit" class="dropdown-item" href="#">@language.Description</button>
|
||||||
|
</form>
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<div id="container">
|
||||||
|
<div>
|
||||||
|
@RenderSection("PageTitle", false)
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
@RenderBody()
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@section Scripts {
|
||||||
|
@RenderSection("Scripts", required: false)
|
||||||
|
}
|
||||||
BIN
bin/Debug/net8.0/Blazor.Diagrams.Core.dll
Normal file
BIN
bin/Debug/net8.0/Blazor.Diagrams.Core.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/Blazor.Diagrams.dll
Normal file
BIN
bin/Debug/net8.0/Blazor.Diagrams.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/BlazorMonaco.dll
Normal file
BIN
bin/Debug/net8.0/BlazorMonaco.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/Bogus.dll
Normal file
BIN
bin/Debug/net8.0/Bogus.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/BouncyCastle.Crypto.dll
Normal file
BIN
bin/Debug/net8.0/BouncyCastle.Crypto.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/DataSeeder.dll
Normal file
BIN
bin/Debug/net8.0/DataSeeder.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/Hangfire.AspNetCore.dll
Normal file
BIN
bin/Debug/net8.0/Hangfire.AspNetCore.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/Hangfire.Core.dll
Normal file
BIN
bin/Debug/net8.0/Hangfire.Core.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/Hangfire.InMemory.dll
Normal file
BIN
bin/Debug/net8.0/Hangfire.InMemory.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/Hangfire.NetCore.dll
Normal file
BIN
bin/Debug/net8.0/Hangfire.NetCore.dll
Normal file
Binary file not shown.
BIN
bin/Debug/net8.0/Json.More.dll
Normal file
BIN
bin/Debug/net8.0/Json.More.dll
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user