├── .gitattributes ├── .gitignore ├── IdsvrMultiTenantExample.sln ├── global.json ├── readme.md └── src ├── FirstTenantClientApp ├── .bowerrc ├── Controllers │ └── HomeController.cs ├── FirstTenantClientApp.xproj ├── Program.cs ├── Properties │ └── launchSettings.json ├── Startup.cs ├── Views │ ├── Home │ │ ├── Index.cshtml │ │ └── Secure.cshtml │ ├── Shared │ │ ├── Error.cshtml │ │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.json ├── bower.json ├── bundleconfig.json ├── project.json ├── web.config └── wwwroot │ ├── _references.js │ ├── css │ ├── site.css │ └── site.min.css │ ├── favicon.ico │ ├── js │ ├── site.js │ └── site.min.js │ └── lib │ ├── bootstrap │ ├── .bower.json │ ├── LICENSE │ └── dist │ │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ └── npm.js │ └── jquery │ ├── .bower.json │ ├── LICENSE.txt │ └── dist │ ├── jquery.js │ ├── jquery.min.js │ └── jquery.min.map ├── IdsvrMultiTenant ├── .bowerrc ├── Controllers │ ├── AccountController.cs │ └── HomeController.cs ├── IdsvrMultiTenant.xproj ├── Models │ ├── ErrorViewModel.cs │ ├── LoggedOutViewModel.cs │ ├── LoginInputModel.cs │ ├── LoginViewModel.cs │ └── LogoutViewModel.cs ├── Program.cs ├── Properties │ └── launchSettings.json ├── Services │ ├── IdSvr │ │ ├── ClientStoreResolver.cs │ │ ├── IUserLoginService.cs │ │ ├── Scopes.cs │ │ └── TenantSpecificIdentityServerOptions.cs │ └── MultiTenancy │ │ ├── IdsvrTenant.cs │ │ └── IdsvrTenantResolver.cs ├── Startup.cs ├── Views │ ├── Account │ │ ├── LoggedOut.cshtml │ │ ├── Login.cshtml │ │ └── Logout.cshtml │ ├── Home │ │ └── Index.cshtml │ ├── Shared │ │ ├── Error.cshtml │ │ ├── _Layout.cshtml │ │ └── _ValidationSummary.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.json ├── bower.json ├── bundleconfig.json ├── project.json ├── web.config └── wwwroot │ ├── _references.js │ ├── css │ ├── site.css │ └── site.min.css │ ├── favicon.ico │ ├── icon.jpg │ ├── icon.png │ ├── js │ ├── site.js │ └── site.min.js │ └── lib │ ├── bootstrap │ ├── .bower.json │ ├── LICENSE │ └── dist │ │ ├── css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ └── npm.js │ ├── jquery-validation-unobtrusive │ ├── .bower.json │ ├── jquery.validate.unobtrusive.js │ └── jquery.validate.unobtrusive.min.js │ ├── jquery-validation │ ├── .bower.json │ ├── CONTRIBUTING.md │ ├── Gruntfile.js │ ├── LICENSE.md │ ├── README.md │ ├── bower.json │ ├── changelog.md │ ├── dist │ │ ├── additional-methods.js │ │ ├── additional-methods.min.js │ │ ├── jquery.validate.js │ │ └── jquery.validate.min.js │ ├── package.json │ ├── src │ │ ├── additional │ │ │ ├── accept.js │ │ │ ├── additional.js │ │ │ ├── alphanumeric.js │ │ │ ├── bankaccountNL.js │ │ │ ├── bankorgiroaccountNL.js │ │ │ ├── bic.js │ │ │ ├── cifES.js │ │ │ ├── cpfBR.js │ │ │ ├── creditcard.js │ │ │ ├── creditcardtypes.js │ │ │ ├── currency.js │ │ │ ├── dateFA.js │ │ │ ├── dateITA.js │ │ │ ├── dateNL.js │ │ │ ├── extension.js │ │ │ ├── giroaccountNL.js │ │ │ ├── iban.js │ │ │ ├── integer.js │ │ │ ├── ipv4.js │ │ │ ├── ipv6.js │ │ │ ├── lettersonly.js │ │ │ ├── letterswithbasicpunc.js │ │ │ ├── mobileNL.js │ │ │ ├── mobileUK.js │ │ │ ├── nieES.js │ │ │ ├── nifES.js │ │ │ ├── notEqualTo.js │ │ │ ├── nowhitespace.js │ │ │ ├── pattern.js │ │ │ ├── phoneNL.js │ │ │ ├── phoneUK.js │ │ │ ├── phoneUS.js │ │ │ ├── phonesUK.js │ │ │ ├── postalCodeCA.js │ │ │ ├── postalcodeBR.js │ │ │ ├── postalcodeIT.js │ │ │ ├── postalcodeNL.js │ │ │ ├── postcodeUK.js │ │ │ ├── require_from_group.js │ │ │ ├── skip_or_fill_minimum.js │ │ │ ├── statesUS.js │ │ │ ├── strippedminlength.js │ │ │ ├── time.js │ │ │ ├── time12h.js │ │ │ ├── url2.js │ │ │ ├── vinUS.js │ │ │ ├── zipcodeUS.js │ │ │ └── ziprange.js │ │ ├── ajax.js │ │ ├── core.js │ │ └── localization │ │ │ ├── messages_ar.js │ │ │ ├── messages_az │ │ │ ├── messages_bg.js │ │ │ ├── messages_bn_BD.js │ │ │ ├── messages_ca.js │ │ │ ├── messages_cs.js │ │ │ ├── messages_da.js │ │ │ ├── messages_de.js │ │ │ ├── messages_el.js │ │ │ ├── messages_es.js │ │ │ ├── messages_es_AR.js │ │ │ ├── messages_es_PE.js │ │ │ ├── messages_et.js │ │ │ ├── messages_eu.js │ │ │ ├── messages_fa.js │ │ │ ├── messages_fi.js │ │ │ ├── messages_fr.js │ │ │ ├── messages_ge.js │ │ │ ├── messages_gl.js │ │ │ ├── messages_he.js │ │ │ ├── messages_hr.js │ │ │ ├── messages_hu.js │ │ │ ├── messages_hy_AM.js │ │ │ ├── messages_id.js │ │ │ ├── messages_is.js │ │ │ ├── messages_it.js │ │ │ ├── messages_ja.js │ │ │ ├── messages_ka.js │ │ │ ├── messages_kk.js │ │ │ ├── messages_ko.js │ │ │ ├── messages_lt.js │ │ │ ├── messages_lv.js │ │ │ ├── messages_mk.js │ │ │ ├── messages_my.js │ │ │ ├── messages_nl.js │ │ │ ├── messages_no.js │ │ │ ├── messages_pl.js │ │ │ ├── messages_pt_BR.js │ │ │ ├── messages_pt_PT.js │ │ │ ├── messages_ro.js │ │ │ ├── messages_ru.js │ │ │ ├── messages_si.js │ │ │ ├── messages_sk.js │ │ │ ├── messages_sl.js │ │ │ ├── messages_sr.js │ │ │ ├── messages_sr_lat.js │ │ │ ├── messages_sv.js │ │ │ ├── messages_th.js │ │ │ ├── messages_tj.js │ │ │ ├── messages_tr.js │ │ │ ├── messages_uk.js │ │ │ ├── messages_vi.js │ │ │ ├── messages_zh.js │ │ │ ├── messages_zh_TW.js │ │ │ ├── methods_de.js │ │ │ ├── methods_es_CL.js │ │ │ ├── methods_fi.js │ │ │ ├── methods_nl.js │ │ │ └── methods_pt.js │ └── validation.jquery.json │ └── jquery │ ├── .bower.json │ ├── LICENSE.txt │ └── dist │ ├── jquery.js │ ├── jquery.min.js │ └── jquery.min.map └── SecondTenantClientApp ├── .bowerrc ├── Controllers └── HomeController.cs ├── Program.cs ├── Properties └── launchSettings.json ├── SecondTenantClientApp.xproj ├── Startup.cs ├── Views ├── Home │ ├── Index.cshtml │ └── Secure.cshtml ├── Shared │ ├── Error.cshtml │ └── _Layout.cshtml ├── _ViewImports.cshtml └── _ViewStart.cshtml ├── appsettings.json ├── bower.json ├── bundleconfig.json ├── project.json ├── web.config └── wwwroot ├── _references.js ├── css ├── site.css └── site.min.css ├── favicon.ico ├── images ├── banner1.svg ├── banner2.svg ├── banner3.svg └── banner4.svg ├── js ├── site.js └── site.min.js └── lib ├── bootstrap ├── .bower.json ├── LICENSE └── dist │ ├── css │ ├── bootstrap-theme.css │ ├── bootstrap-theme.css.map │ ├── bootstrap-theme.min.css │ ├── bootstrap-theme.min.css.map │ ├── bootstrap.css │ ├── bootstrap.css.map │ ├── bootstrap.min.css │ └── bootstrap.min.css.map │ ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 │ └── js │ ├── bootstrap.js │ ├── bootstrap.min.js │ └── npm.js └── jquery ├── .bower.json ├── LICENSE.txt └── dist ├── jquery.js ├── jquery.min.js └── jquery.min.map /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /IdsvrMultiTenantExample.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.25420.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{08D47107-C6D8-4CAE-AD94-994C9F58C0A1}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{6731FF14-84A6-47B2-9B89-54501E1F8940}" 9 | ProjectSection(SolutionItems) = preProject 10 | .gitignore = .gitignore 11 | global.json = global.json 12 | readme.md = readme.md 13 | EndProjectSection 14 | EndProject 15 | Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "IdsvrMultiTenant", "src\IdsvrMultiTenant\IdsvrMultiTenant.xproj", "{A317D5A6-AAB5-4186-86E4-621F5E2E2184}" 16 | EndProject 17 | Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "FirstTenantClientApp", "src\FirstTenantClientApp\FirstTenantClientApp.xproj", "{1ADB2195-9C66-4453-BDA5-06BF3DB6F18D}" 18 | EndProject 19 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "clients", "clients", "{A8A75820-9DB6-4476-A388-C63DB81EF72C}" 20 | EndProject 21 | Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "SecondTenantClientApp", "src\SecondTenantClientApp\SecondTenantClientApp.xproj", "{787DF8B4-4A24-402B-B71D-BABC389C06C6}" 22 | EndProject 23 | Global 24 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 25 | Debug|Any CPU = Debug|Any CPU 26 | Release|Any CPU = Release|Any CPU 27 | EndGlobalSection 28 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 29 | {A317D5A6-AAB5-4186-86E4-621F5E2E2184}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 30 | {A317D5A6-AAB5-4186-86E4-621F5E2E2184}.Debug|Any CPU.Build.0 = Debug|Any CPU 31 | {A317D5A6-AAB5-4186-86E4-621F5E2E2184}.Release|Any CPU.ActiveCfg = Release|Any CPU 32 | {A317D5A6-AAB5-4186-86E4-621F5E2E2184}.Release|Any CPU.Build.0 = Release|Any CPU 33 | {1ADB2195-9C66-4453-BDA5-06BF3DB6F18D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 34 | {1ADB2195-9C66-4453-BDA5-06BF3DB6F18D}.Debug|Any CPU.Build.0 = Debug|Any CPU 35 | {1ADB2195-9C66-4453-BDA5-06BF3DB6F18D}.Release|Any CPU.ActiveCfg = Release|Any CPU 36 | {1ADB2195-9C66-4453-BDA5-06BF3DB6F18D}.Release|Any CPU.Build.0 = Release|Any CPU 37 | {787DF8B4-4A24-402B-B71D-BABC389C06C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 38 | {787DF8B4-4A24-402B-B71D-BABC389C06C6}.Debug|Any CPU.Build.0 = Debug|Any CPU 39 | {787DF8B4-4A24-402B-B71D-BABC389C06C6}.Release|Any CPU.ActiveCfg = Release|Any CPU 40 | {787DF8B4-4A24-402B-B71D-BABC389C06C6}.Release|Any CPU.Build.0 = Release|Any CPU 41 | EndGlobalSection 42 | GlobalSection(SolutionProperties) = preSolution 43 | HideSolutionNode = FALSE 44 | EndGlobalSection 45 | GlobalSection(NestedProjects) = preSolution 46 | {A317D5A6-AAB5-4186-86E4-621F5E2E2184} = {08D47107-C6D8-4CAE-AD94-994C9F58C0A1} 47 | {1ADB2195-9C66-4453-BDA5-06BF3DB6F18D} = {A8A75820-9DB6-4476-A388-C63DB81EF72C} 48 | {787DF8B4-4A24-402B-B71D-BABC389C06C6} = {A8A75820-9DB6-4476-A388-C63DB81EF72C} 49 | EndGlobalSection 50 | EndGlobal 51 | -------------------------------------------------------------------------------- /global.json: -------------------------------------------------------------------------------- 1 | { 2 | "projects": [ 3 | "src", 4 | "test" 5 | ], 6 | "sdk": { 7 | "version": "1.0.0-preview2-003131" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Microsoft.AspNetCore.Authentication.OpenIdConnect; 6 | using Microsoft.AspNetCore.Authorization; 7 | using Microsoft.AspNetCore.Http.Authentication; 8 | using Microsoft.AspNetCore.Mvc; 9 | 10 | namespace FirstTenantClientApp.Controllers 11 | { 12 | public class HomeController : Controller 13 | { 14 | public IActionResult Index() 15 | { 16 | var user = User; 17 | return View(); 18 | } 19 | 20 | [Authorize] 21 | public IActionResult Secure() 22 | { 23 | return View(); 24 | } 25 | 26 | public async Task Logout() 27 | { 28 | await HttpContext.Authentication.SignOutAsync("Cookies"); 29 | return new SignOutResult("ExternalIdSvr", new AuthenticationProperties() 30 | { 31 | RedirectUri = "/" 32 | }); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/FirstTenantClientApp.xproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 14.0 5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 6 | 7 | 8 | 9 | 1adb2195-9c66-4453-bda5-06bf3db6f18d 10 | FirstTenantClientApp 11 | .\obj 12 | .\bin\ 13 | v4.6.1 14 | 15 | 16 | 2.0 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using Microsoft.AspNetCore.Hosting; 7 | 8 | namespace FirstTenantClientApp 9 | { 10 | public class Program 11 | { 12 | public static void Main(string[] args) 13 | { 14 | var host = new WebHostBuilder() 15 | .UseKestrel() 16 | .UseContentRoot(Directory.GetCurrentDirectory()) 17 | .UseIISIntegration() 18 | .UseStartup() 19 | .UseUrls("http://localhost:5000") 20 | .Build(); 21 | 22 | host.Run(); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:56659/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "FirstTenantClientApp": { 19 | "commandName": "Project", 20 | "launchBrowser": false, 21 | "launchUrl": "http://localhost:5000", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/FirstTenantClientApp/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @if (!Context.User.Identity.IsAuthenticated) 2 | { 3 |

Not authenticated

4 | } 5 | else 6 | { 7 |

Authenticated !!!!

8 | } 9 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/Views/Home/Secure.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Authentication 2 | 3 |

Secure

4 | 5 | @{ 6 | var it = await Context.Authentication.GetTokenAsync("id_token"); 7 | var at = await Context.Authentication.GetTokenAsync("access_token"); 8 | var rt = await Context.Authentication.GetTokenAsync("refresh_token"); 9 | } 10 | 11 |
12 |
13 | @if (it != null) 14 | { 15 |
id_token
16 |
@it
17 | } 18 | @if (at != null) 19 | { 20 |
access_token
21 |
@at
22 | } 23 | @if (rt != null) 24 | { 25 |
refresh_token
26 |
@rt
27 | } 28 | @foreach (var claim in User.Claims) 29 | { 30 |
@claim.Type
31 |
@claim.Value
32 | } 33 |
34 |
-------------------------------------------------------------------------------- /src/FirstTenantClientApp/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Error"; 3 | } 4 | 5 |

Error.

6 |

An error occurred while processing your request.

7 | 8 |

Development Mode

9 |

10 | Swapping to Development environment will display more detailed information about the error that occurred. 11 |

12 |

13 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 14 |

15 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | @ViewData["Title"] - FirstTenantClientApp 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 20 | 40 |
41 | @RenderBody() 42 |
43 |
44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 55 | 59 | 60 | 61 | 62 | @RenderSection("scripts", required: false) 63 | 64 | 65 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using FirstTenantClientApp 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.6", 6 | "jquery": "2.2.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/site.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/site.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/js/site.min.js", 13 | "inputFiles": [ 14 | "wwwroot/js/site.js" 15 | ], 16 | // Optionally specify minification options 17 | "minify": { 18 | "enabled": true, 19 | "renameLocals": true 20 | }, 21 | // Optinally generate .map file 22 | "sourceMap": false 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.AspNetCore.Diagnostics": "1.0.0", 4 | "Microsoft.AspNetCore.Mvc": "1.0.1", 5 | "Microsoft.AspNetCore.Razor.Tools": { 6 | "version": "1.0.0-preview2-final", 7 | "type": "build" 8 | }, 9 | "Microsoft.AspNetCore.Routing": "1.0.1", 10 | "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 11 | "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 12 | "Microsoft.AspNetCore.StaticFiles": "1.0.0", 13 | "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0", 14 | "Microsoft.AspNetCore.Authentication.OpenIdConnect": "1.0.0", 15 | "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 16 | "Microsoft.Extensions.Configuration.Json": "1.0.0", 17 | "Microsoft.Extensions.Logging": "1.0.0", 18 | "Microsoft.Extensions.Logging.Console": "1.0.0", 19 | "Microsoft.Extensions.Logging.Debug": "1.0.0", 20 | "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 21 | "Microsoft.NETCore.App": { 22 | "version": "1.0.1", 23 | "type": "platform" 24 | }, 25 | "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0" 26 | }, 27 | "tools": { 28 | "BundlerMinifier.Core": "2.0.238", 29 | "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 30 | "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 31 | }, 32 | "frameworks": { 33 | "netcoreapp1.0": { 34 | "imports": [ 35 | "dotnet5.6", 36 | "portable-net45+win8" 37 | ] 38 | } 39 | }, 40 | "buildOptions": { 41 | "emitEntryPoint": true, 42 | "preserveCompilationContext": true 43 | }, 44 | "runtimeOptions": { 45 | "configProperties": { 46 | "System.GC.Server": true 47 | } 48 | }, 49 | "publishOptions": { 50 | "include": [ 51 | "wwwroot", 52 | "**/*.cshtml", 53 | "appsettings.json", 54 | "web.config" 55 | ] 56 | }, 57 | "scripts": { 58 | "prepublish": [ 59 | "bower install", 60 | "dotnet bundle" 61 | ], 62 | "postpublish": [ 63 | "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" 64 | ] 65 | } 66 | } -------------------------------------------------------------------------------- /src/FirstTenantClientApp/web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/_references.js: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 50px; 3 | padding-bottom: 20px; 4 | } 5 | 6 | /* Wrapping element */ 7 | /* Set some basic padding to keep content from hitting the edges */ 8 | .body-content { 9 | padding-left: 15px; 10 | padding-right: 15px; 11 | } 12 | 13 | /* Set widths on the form inputs since otherwise they're 100% wide */ 14 | input, 15 | select, 16 | textarea { 17 | max-width: 280px; 18 | } 19 | 20 | /* Carousel */ 21 | .carousel-caption p { 22 | font-size: 20px; 23 | line-height: 1.4; 24 | } 25 | 26 | /* Make .svg files in the carousel display properly in older browsers */ 27 | .carousel-inner .item img[src$=".svg"] 28 | { 29 | width: 100%; 30 | } 31 | 32 | /* Hide/rearrange for smaller screens */ 33 | @media screen and (max-width: 767px) { 34 | /* Hide captions */ 35 | .carousel-caption { 36 | display: none 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/css/site.min.css: -------------------------------------------------------------------------------- 1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}} -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/FirstTenantClientApp/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/FirstTenantClientApp/wwwroot/js/site.min.js -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 2" 33 | }, 34 | "version": "3.3.6", 35 | "_release": "3.3.6", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.3.6", 39 | "commit": "81df608a40bf0629a1dc08e584849bb1e43e0b7a" 40 | }, 41 | "_source": "git://github.com/twbs/bootstrap.git", 42 | "_target": "3.3.6", 43 | "_originalSource": "bootstrap" 44 | } -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2015 Twitter, Inc 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.0", 16 | "_release": "2.2.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.0", 20 | "commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /src/FirstTenantClientApp/wwwroot/lib/jquery/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright jQuery Foundation and other contributors, https://jquery.org/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/jquery/jquery 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | All files located in the node_modules and external directories are 34 | externally maintained libraries used by this software which have their 35 | own licenses; we recommend you read them, as their terms may differ from 36 | the terms above. 37 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Brock Allen & Dominick Baier. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information. 3 | 4 | 5 | using System.Threading.Tasks; 6 | using IdentityServer4.Services; 7 | using IdsvrMultiTenant.Models; 8 | using Microsoft.AspNetCore.Mvc; 9 | 10 | namespace IdsvrMultiTenant.Controllers 11 | { 12 | public class HomeController : Controller 13 | { 14 | private readonly IIdentityServerInteractionService _interaction; 15 | 16 | public HomeController(IIdentityServerInteractionService interaction) 17 | { 18 | _interaction = interaction; 19 | } 20 | 21 | public IActionResult Index() 22 | { 23 | return View(); 24 | } 25 | 26 | /// 27 | /// Shows the error page 28 | /// 29 | public async Task Error(string errorId) 30 | { 31 | var vm = new ErrorViewModel(); 32 | 33 | // retrieve error details from identityserver 34 | var message = await _interaction.GetErrorContextAsync(errorId); 35 | if (message != null) 36 | { 37 | vm.Error = message; 38 | } 39 | 40 | return View("Error", vm); 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/IdsvrMultiTenant.xproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 14.0 5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 6 | 7 | 8 | 9 | a317d5a6-aab5-4186-86e4-621f5e2e2184 10 | IdsvrMultiTenant 11 | .\obj 12 | .\bin\ 13 | v4.6.1 14 | 15 | 16 | 2.0 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Models/ErrorViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Brock Allen & Dominick Baier. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information. 3 | 4 | 5 | using IdentityServer4.Models; 6 | 7 | namespace IdsvrMultiTenant.Models 8 | { 9 | public class ErrorViewModel 10 | { 11 | public ErrorMessage Error { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Models/LoggedOutViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Brock Allen & Dominick Baier. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information. 3 | 4 | 5 | namespace IdsvrMultiTenant.Models 6 | { 7 | public class LoggedOutViewModel 8 | { 9 | public string PostLogoutRedirectUri { get; set; } 10 | public string ClientName { get; set; } 11 | public string SignOutIframeUrl { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Models/LoginInputModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Brock Allen & Dominick Baier. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information. 3 | 4 | 5 | using System.ComponentModel.DataAnnotations; 6 | 7 | namespace IdsvrMultiTenant.Models 8 | { 9 | public class LoginInputModel 10 | { 11 | [Required] 12 | public string Username { get; set; } 13 | [Required] 14 | public string Password { get; set; } 15 | public bool RememberLogin { get; set; } 16 | public string ReturnUrl { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Models/LoginViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Brock Allen & Dominick Baier. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information. 3 | 4 | 5 | using System.Collections.Generic; 6 | 7 | namespace IdsvrMultiTenant.Models 8 | { 9 | public class LoginViewModel : LoginInputModel 10 | { 11 | public bool EnableLocalLogin { get; set; } 12 | public IEnumerable ExternalProviders { get; set; } 13 | } 14 | 15 | public class ExternalProvider 16 | { 17 | public string DisplayName { get; set; } 18 | public string AuthenticationScheme { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Models/LogoutViewModel.cs: -------------------------------------------------------------------------------- 1 | // Copyright (c) Brock Allen & Dominick Baier. All rights reserved. 2 | // Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information. 3 | 4 | 5 | namespace IdsvrMultiTenant.Models 6 | { 7 | public class LogoutViewModel 8 | { 9 | public string LogoutId { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | using IdsvrMultiTenant.Services.IdSvr; 7 | using IdsvrMultiTenant.Services.MultiTenancy; 8 | using Microsoft.AspNetCore.Hosting; 9 | 10 | namespace IdsvrMultiTenant 11 | { 12 | public class Program 13 | { 14 | public static void Main(string[] args) 15 | { 16 | var host = new WebHostBuilder() 17 | .UseKestrel() 18 | .UseContentRoot(Directory.GetCurrentDirectory()) 19 | .UseIISIntegration() 20 | .UseStartup() 21 | .UseUrls("http://localhost:5050/") 22 | .Build(); 23 | 24 | host.Run(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:63115/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "IdsvrMultiTenant": { 19 | "commandName": "Project", 20 | "launchBrowser": false, 21 | "launchUrl": "http://localhost:5050", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Services/IdSvr/Scopes.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using IdentityServer4.Models; 3 | 4 | namespace IdsvrMultiTenant.Services.IdSvr 5 | { 6 | public class Scopes 7 | { 8 | public static IEnumerable Get() 9 | { 10 | return new List 11 | { 12 | StandardScopes.OpenId, 13 | StandardScopes.ProfileAlwaysInclude, 14 | StandardScopes.EmailAlwaysInclude, 15 | StandardScopes.OfflineAccess, 16 | StandardScopes.RolesAlwaysInclude 17 | }; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Services/IdSvr/TenantSpecificIdentityServerOptions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using IdentityServer4.Configuration; 3 | using IdsvrMultiTenant.Services.MultiTenancy; 4 | using Microsoft.AspNetCore.Http; 5 | 6 | namespace IdsvrMultiTenant.Services.IdSvr 7 | { 8 | public class TenantSpecificIdentityServerOptions : IdentityServerOptions 9 | { 10 | public TenantSpecificIdentityServerOptions(IHttpContextAccessor httpContextAccessor) 11 | { 12 | // get the current TenantContext (courtesy of Saaskit.Multitenancy) 13 | if(httpContextAccessor == null) 14 | throw new ArgumentNullException(nameof(httpContextAccessor)); 15 | 16 | // just to be sure, we are in a tenant context 17 | var tenantContext = httpContextAccessor.HttpContext.GetTenantContext(); 18 | if(tenantContext == null) 19 | throw new ArgumentNullException(nameof(tenantContext)); 20 | 21 | // **** now we can have tenantspecific IdentityServerOptions 22 | 23 | // we scope the IdSvr cookie with the tenant name, to avoid potential conflicts 24 | AuthenticationOptions.AuthenticationScheme = "idsvr.tenants." + tenantContext.Tenant.Name; 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Services/MultiTenancy/IdsvrTenant.cs: -------------------------------------------------------------------------------- 1 | namespace IdsvrMultiTenant.Services.MultiTenancy 2 | { 3 | public class IdsvrTenant 4 | { 5 | public string Name { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Services/MultiTenancy/IdsvrTenantResolver.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Text.RegularExpressions; 3 | using System.Threading.Tasks; 4 | using Microsoft.AspNetCore.Http; 5 | using SaasKit.Multitenancy; 6 | 7 | namespace IdsvrMultiTenant.Services.MultiTenancy 8 | { 9 | public class IdsvrTenantResolver : ITenantResolver 10 | { 11 | public Task> ResolveAsync(HttpContext context) 12 | { 13 | TenantContext tenantContext = null; 14 | 15 | ExtractTenantFromRequest(context, tenantName => 16 | { 17 | tenantContext = new TenantContext(new IdsvrTenant() { Name = tenantName }); 18 | }); 19 | 20 | return Task.FromResult>(tenantContext); 21 | } 22 | 23 | private void ExtractTenantFromRequest(HttpContext context, Action callBack) 24 | { 25 | var pattern = new Regex(@"\/(\w+)"); 26 | var currentPath = context.Request.Path.Value ?? ""; 27 | if (pattern.IsMatch(currentPath)) 28 | { 29 | var matches = pattern.Matches(currentPath); 30 | 31 | callBack(matches[0].Groups[1].Value.ToLowerInvariant()); 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Views/Account/LoggedOut.cshtml: -------------------------------------------------------------------------------- 1 | @using IdsvrMultiTenant.Models 2 | @model IdsvrMultiTenant.Models.LoggedOutViewModel 3 | 4 | 23 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Views/Account/Logout.cshtml: -------------------------------------------------------------------------------- 1 | @using IdsvrMultiTenant.Models 2 | @model IdsvrMultiTenant.Models.LogoutViewModel 3 | 4 |
5 | 8 | 9 |
10 |
11 |

Would you like to logout of IdentityServer?

12 |
13 | 14 |
15 |
16 | 17 |
18 |
19 |
20 |
21 |
22 |
-------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | 
2 | 11 | 12 |
13 |
14 |

15 | IdentityServer publishes a 16 | discovery document 17 | where you can find metadata and links to all the endpoints, key material, etc. 18 |

19 |
20 |
21 |
22 |
23 |

24 | Here are links to the 25 | source code repository, 26 | and ready to use samples. 27 |

28 |
29 |
30 |
31 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @using IdsvrMultiTenant.Models 2 | @model IdsvrMultiTenant.Models.ErrorViewModel 3 | 4 | @{ 5 | var error = Model?.Error?.Error; 6 | var request_id = Model?.Error?.RequestId; 7 | } 8 | 9 |
10 | 13 | 14 |
15 |
16 |
17 | Sorry, there was an error 18 | 19 | @if (error != null) 20 | { 21 | 22 | 23 | : @error 24 | 25 | 26 | } 27 |
28 | 29 | @if (request_id != null) 30 | { 31 |
Request Id: @request_id
32 | } 33 |
34 |
35 |
36 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | IdentityServer4 7 | 8 | 9 | 10 | 11 | 12 | 13 | 45 | 46 |
47 | @RenderBody() 48 |
49 | 50 | 51 | 52 | @RenderSection("scripts", required: false) 53 | 54 | 55 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Views/Shared/_ValidationSummary.cshtml: -------------------------------------------------------------------------------- 1 | @if (ViewContext.ModelState.IsValid == false) 2 | { 3 |
4 | Error 5 |
6 |
7 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-IdsvrMultiTenant-3f26e080-3fcf-486f-86b8-2ed7130ac1ac;Trusted_Connection=True;MultipleActiveResultSets=true" 4 | }, 5 | "Logging": { 6 | "IncludeScopes": false, 7 | "LogLevel": { 8 | "Default": "Debug", 9 | "System": "Information", 10 | "Microsoft": "Information" 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.6", 6 | "jquery": "2.2.0", 7 | "jquery-validation-unobtrusive": "3.2.6" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/site.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/site.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/js/site.min.js", 13 | "inputFiles": [ 14 | "wwwroot/js/site.js" 15 | ], 16 | // Optionally specify minification options 17 | "minify": { 18 | "enabled": true, 19 | "renameLocals": true 20 | }, 21 | // Optinally generate .map file 22 | "sourceMap": false 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/_references.js: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | /// 6 | /// 7 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 50px; 3 | padding-bottom: 20px; 4 | } 5 | 6 | /* Wrapping element */ 7 | /* Set some basic padding to keep content from hitting the edges */ 8 | .body-content { 9 | padding-left: 15px; 10 | padding-right: 15px; 11 | } 12 | 13 | /* Set widths on the form inputs since otherwise they're 100% wide */ 14 | input, 15 | select, 16 | textarea { 17 | max-width: 280px; 18 | } 19 | 20 | /* Carousel */ 21 | .carousel-caption p { 22 | font-size: 20px; 23 | line-height: 1.4; 24 | } 25 | 26 | /* buttons and links extension to use brackets: [ click me ] */ 27 | .btn-bracketed::before { 28 | display:inline-block; 29 | content: "["; 30 | padding-right: 0.5em; 31 | } 32 | .btn-bracketed::after { 33 | display:inline-block; 34 | content: "]"; 35 | padding-left: 0.5em; 36 | } 37 | 38 | /* Make .svg files in the carousel display properly in older browsers */ 39 | .carousel-inner .item img[src$=".svg"] 40 | { 41 | width: 100%; 42 | } 43 | 44 | /* Hide/rearrange for smaller screens */ 45 | @media screen and (max-width: 767px) { 46 | /* Hide captions */ 47 | .carousel-caption { 48 | display: none 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/css/site.min.css: -------------------------------------------------------------------------------- 1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.btn-bracketed::before{display:inline-block;content:"[";padding-right:.5em}.btn-bracketed::after{display:inline-block;content:"]";padding-left:.5em}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}} -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/IdsvrMultiTenant/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/IdsvrMultiTenant/wwwroot/js/site.min.js -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 2" 33 | }, 34 | "version": "3.3.6", 35 | "_release": "3.3.6", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.3.6", 39 | "commit": "81df608a40bf0629a1dc08e584849bb1e43e0b7a" 40 | }, 41 | "_source": "git://github.com/twbs/bootstrap.git", 42 | "_target": "3.3.6", 43 | "_originalSource": "bootstrap" 44 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2015 Twitter, Inc 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation-unobtrusive/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation-unobtrusive", 3 | "version": "3.2.6", 4 | "homepage": "https://github.com/aspnet/jquery-validation-unobtrusive", 5 | "description": "Add-on to jQuery Validation to enable unobtrusive validation options in data-* attributes.", 6 | "main": [ 7 | "jquery.validate.unobtrusive.js" 8 | ], 9 | "ignore": [ 10 | "**/.*", 11 | "*.json", 12 | "*.md", 13 | "*.txt", 14 | "gulpfile.js" 15 | ], 16 | "keywords": [ 17 | "jquery", 18 | "asp.net", 19 | "mvc", 20 | "validation", 21 | "unobtrusive" 22 | ], 23 | "authors": [ 24 | "Microsoft" 25 | ], 26 | "license": "http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm", 27 | "repository": { 28 | "type": "git", 29 | "url": "git://github.com/aspnet/jquery-validation-unobtrusive.git" 30 | }, 31 | "dependencies": { 32 | "jquery-validation": ">=1.8", 33 | "jquery": ">=1.8" 34 | }, 35 | "_release": "3.2.6", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.2.6", 39 | "commit": "13386cd1b5947d8a5d23a12b531ce3960be1eba7" 40 | }, 41 | "_source": "git://github.com/aspnet/jquery-validation-unobtrusive.git", 42 | "_target": "3.2.6", 43 | "_originalSource": "jquery-validation-unobtrusive" 44 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "homepage": "http://jqueryvalidation.org/", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/jzaefferer/jquery-validation.git" 7 | }, 8 | "authors": [ 9 | "Jörn Zaefferer " 10 | ], 11 | "description": "Form validation made easy", 12 | "main": "dist/jquery.validate.js", 13 | "keywords": [ 14 | "forms", 15 | "validation", 16 | "validate" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "demo", 25 | "lib" 26 | ], 27 | "dependencies": { 28 | "jquery": ">= 1.7.2" 29 | }, 30 | "version": "1.15.1", 31 | "_release": "1.15.1", 32 | "_resolution": { 33 | "type": "version", 34 | "tag": "1.15.1", 35 | "commit": "b88e234662b3050fc69b1723a87b6c1645c870bc" 36 | }, 37 | "_source": "https://github.com/jzaefferer/jquery-validation.git", 38 | "_target": ">=1.8", 39 | "_originalSource": "jquery-validation" 40 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright Jörn Zaefferer 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/README.md: -------------------------------------------------------------------------------- 1 | [jQuery Validation Plugin](http://jqueryvalidation.org/) - Form validation made easy 2 | ================================ 3 | 4 | [![Build Status](https://secure.travis-ci.org/jzaefferer/jquery-validation.svg)](http://travis-ci.org/jzaefferer/jquery-validation) 5 | [![devDependency Status](https://david-dm.org/jzaefferer/jquery-validation/dev-status.svg?theme=shields.io)](https://david-dm.org/jzaefferer/jquery-validation#info=devDependencies) 6 | [![Join the chat at https://gitter.im/jzaefferer/jquery-validation](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jzaefferer/jquery-validation) 7 | 8 | The jQuery Validation Plugin provides drop-in validation for your existing forms, while making all kinds of customizations to fit your application really easy. 9 | 10 | ## Getting Started 11 | 12 | ### Downloading the prebuilt files 13 | 14 | Prebuilt files can be downloaded from http://jqueryvalidation.org/ 15 | 16 | ### Downloading the latest changes 17 | 18 | The unreleased development files can be obtained by: 19 | 20 | 1. [Downloading](https://github.com/jzaefferer/jquery-validation/archive/master.zip) or Forking this repository 21 | 2. [Setup the build](CONTRIBUTING.md#build-setup) 22 | 3. Run `grunt` to create the built files in the "dist" directory 23 | 24 | ### Including it on your page 25 | 26 | Include jQuery and the plugin on a page. Then select a form to validate and call the `validate` method. 27 | 28 | ```html 29 |
30 | 31 |
32 | 33 | 34 | 37 | ``` 38 | 39 | Alternatively include jQuery and the plugin via requirejs in your module. 40 | 41 | ```js 42 | define(["jquery", "jquery.validate"], function( $ ) { 43 | $("form").validate(); 44 | }); 45 | ``` 46 | 47 | For more information on how to setup a rules and customizations, [check the documentation](http://jqueryvalidation.org/documentation/). 48 | 49 | ## Reporting issues and contributing code 50 | 51 | See the [Contributing Guidelines](CONTRIBUTING.md) for details. 52 | 53 | **IMPORTANT NOTE ABOUT EMAIL VALIDATION**. As of version 1.12.0 this plugin is using the same regular expression that the [HTML5 specification suggests for browsers to use](https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address). We will follow their lead and use the same check. If you think the specification is wrong, please report the issue to them. If you have different requirements, consider [using a custom method](http://jqueryvalidation.org/jQuery.validator.addMethod/). 54 | In case you need to adjust the built-in validation regular expression patterns, please [follow the documentation](http://jqueryvalidation.org/jQuery.validator.methods/). 55 | 56 | ## License 57 | Copyright © Jörn Zaefferer
58 | Licensed under the MIT license. 59 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "homepage": "http://jqueryvalidation.org/", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/jzaefferer/jquery-validation.git" 7 | }, 8 | "authors": [ 9 | "Jörn Zaefferer " 10 | ], 11 | "description": "Form validation made easy", 12 | "main": "dist/jquery.validate.js", 13 | "keywords": [ 14 | "forms", 15 | "validation", 16 | "validate" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "demo", 25 | "lib" 26 | ], 27 | "dependencies": { 28 | "jquery": ">= 1.7.2" 29 | }, 30 | "version": "1.15.1" 31 | } 32 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "title": "jQuery Validation Plugin", 4 | "description": "Client-side form validation made easy", 5 | "version": "1.15.1", 6 | "homepage": "http://jqueryvalidation.org/", 7 | "license": "MIT", 8 | "author": { 9 | "name": "Jörn Zaefferer", 10 | "email": "joern.zaefferer@gmail.com", 11 | "url": "http://bassistance.de" 12 | }, 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/jzaefferer/jquery-validation.git" 16 | }, 17 | "bugs": { 18 | "url": "https://github.com/jzaefferer/jquery-validation/issues" 19 | }, 20 | "licenses": [ 21 | { 22 | "type": "MIT", 23 | "url": "http://www.opensource.org/licenses/MIT" 24 | } 25 | ], 26 | "scripts": { 27 | "test": "grunt", 28 | "prepublish": "grunt" 29 | }, 30 | "files": [ 31 | "dist/localization/", 32 | "dist/additional-methods.js", 33 | "dist/jquery.validate.js" 34 | ], 35 | "main": "dist/jquery.validate.js", 36 | "dependencies": { 37 | "jquery": "^1.7 || ^2.0" 38 | }, 39 | "devDependencies": { 40 | "commitplease": "^2.2.3", 41 | "grunt": "^0.4.4", 42 | "grunt-contrib-compress": "^0.7", 43 | "grunt-contrib-concat": "^0.3", 44 | "grunt-contrib-copy": "^0.5", 45 | "grunt-contrib-jshint": "^0.11.3", 46 | "grunt-contrib-qunit": "^0.4", 47 | "grunt-contrib-uglify": "^0.4", 48 | "grunt-contrib-watch": "^0.6", 49 | "grunt-jscs": "^2.2", 50 | "grunt-text-replace": "^0.3.11" 51 | }, 52 | "keywords": [ 53 | "jquery", 54 | "jquery-plugin", 55 | "forms", 56 | "validation", 57 | "validate" 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/accept.js: -------------------------------------------------------------------------------- 1 | // Accept a value from a file input based on a required mimetype 2 | $.validator.addMethod( "accept", function( value, element, param ) { 3 | 4 | // Split mime on commas in case we have multiple types we can accept 5 | var typeParam = typeof param === "string" ? param.replace( /\s/g, "" ) : "image/*", 6 | optionalValue = this.optional( element ), 7 | i, file, regex; 8 | 9 | // Element is optional 10 | if ( optionalValue ) { 11 | return optionalValue; 12 | } 13 | 14 | if ( $( element ).attr( "type" ) === "file" ) { 15 | 16 | // Escape string to be used in the regex 17 | // see: http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex 18 | // Escape also "/*" as "/.*" as a wildcard 19 | typeParam = typeParam 20 | .replace( /[\-\[\]\/\{\}\(\)\+\?\.\\\^\$\|]/g, "\\$&" ) 21 | .replace( /,/g, "|" ) 22 | .replace( /\/\*/g, "/.*" ); 23 | 24 | // Check if the element has a FileList before checking each file 25 | if ( element.files && element.files.length ) { 26 | regex = new RegExp( ".?(" + typeParam + ")$", "i" ); 27 | for ( i = 0; i < element.files.length; i++ ) { 28 | file = element.files[ i ]; 29 | 30 | // Grab the mimetype from the loaded file, verify it matches 31 | if ( !file.type.match( regex ) ) { 32 | return false; 33 | } 34 | } 35 | } 36 | } 37 | 38 | // Either return true because we've validated each file, or because the 39 | // browser does not support element.files and the FileList feature 40 | return true; 41 | }, $.validator.format( "Please enter a value with a valid mimetype." ) ); 42 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/additional.js: -------------------------------------------------------------------------------- 1 | ( function() { 2 | 3 | function stripHtml( value ) { 4 | 5 | // Remove html tags and space chars 6 | return value.replace( /<.[^<>]*?>/g, " " ).replace( / | /gi, " " ) 7 | 8 | // Remove punctuation 9 | .replace( /[.(),;:!?%#$'\"_+=\/\-“”’]*/g, "" ); 10 | } 11 | 12 | $.validator.addMethod( "maxWords", function( value, element, params ) { 13 | return this.optional( element ) || stripHtml( value ).match( /\b\w+\b/g ).length <= params; 14 | }, $.validator.format( "Please enter {0} words or less." ) ); 15 | 16 | $.validator.addMethod( "minWords", function( value, element, params ) { 17 | return this.optional( element ) || stripHtml( value ).match( /\b\w+\b/g ).length >= params; 18 | }, $.validator.format( "Please enter at least {0} words." ) ); 19 | 20 | $.validator.addMethod( "rangeWords", function( value, element, params ) { 21 | var valueStripped = stripHtml( value ), 22 | regex = /\b\w+\b/g; 23 | return this.optional( element ) || valueStripped.match( regex ).length >= params[ 0 ] && valueStripped.match( regex ).length <= params[ 1 ]; 24 | }, $.validator.format( "Please enter between {0} and {1} words." ) ); 25 | 26 | }() ); 27 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/alphanumeric.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "alphanumeric", function( value, element ) { 2 | return this.optional( element ) || /^\w+$/i.test( value ); 3 | }, "Letters, numbers, and underscores only please" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/bankaccountNL.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Dutch bank account numbers (not 'giro' numbers) have 9 digits 3 | * and pass the '11 check'. 4 | * We accept the notation with spaces, as that is common. 5 | * acceptable: 123456789 or 12 34 56 789 6 | */ 7 | $.validator.addMethod( "bankaccountNL", function( value, element ) { 8 | if ( this.optional( element ) ) { 9 | return true; 10 | } 11 | if ( !( /^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test( value ) ) ) { 12 | return false; 13 | } 14 | 15 | // Now '11 check' 16 | var account = value.replace( / /g, "" ), // Remove spaces 17 | sum = 0, 18 | len = account.length, 19 | pos, factor, digit; 20 | for ( pos = 0; pos < len; pos++ ) { 21 | factor = len - pos; 22 | digit = account.substring( pos, pos + 1 ); 23 | sum = sum + factor * digit; 24 | } 25 | return sum % 11 === 0; 26 | }, "Please specify a valid bank account number" ); 27 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/bankorgiroaccountNL.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "bankorgiroaccountNL", function( value, element ) { 2 | return this.optional( element ) || 3 | ( $.validator.methods.bankaccountNL.call( this, value, element ) ) || 4 | ( $.validator.methods.giroaccountNL.call( this, value, element ) ); 5 | }, "Please specify a valid bank or giro account number" ); 6 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/bic.js: -------------------------------------------------------------------------------- 1 | /** 2 | * BIC is the business identifier code (ISO 9362). This BIC check is not a guarantee for authenticity. 3 | * 4 | * BIC pattern: BBBBCCLLbbb (8 or 11 characters long; bbb is optional) 5 | * 6 | * Validation is case-insensitive. Please make sure to normalize input yourself. 7 | * 8 | * BIC definition in detail: 9 | * - First 4 characters - bank code (only letters) 10 | * - Next 2 characters - ISO 3166-1 alpha-2 country code (only letters) 11 | * - Next 2 characters - location code (letters and digits) 12 | * a. shall not start with '0' or '1' 13 | * b. second character must be a letter ('O' is not allowed) or digit ('0' for test (therefore not allowed), '1' denoting passive participant, '2' typically reverse-billing) 14 | * - Last 3 characters - branch code, optional (shall not start with 'X' except in case of 'XXX' for primary office) (letters and digits) 15 | */ 16 | $.validator.addMethod( "bic", function( value, element ) { 17 | return this.optional( element ) || /^([A-Z]{6}[A-Z2-9][A-NP-Z1-9])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test( value.toUpperCase() ); 18 | }, "Please specify a valid BIC code" ); 19 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/cifES.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Código de identificación fiscal ( CIF ) is the tax identification code for Spanish legal entities 3 | * Further rules can be found in Spanish on http://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal 4 | */ 5 | $.validator.addMethod( "cifES", function( value ) { 6 | "use strict"; 7 | 8 | var num = [], 9 | controlDigit, sum, i, count, tmp, secondDigit; 10 | 11 | value = value.toUpperCase(); 12 | 13 | // Quick format test 14 | if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { 15 | return false; 16 | } 17 | 18 | for ( i = 0; i < 9; i++ ) { 19 | num[ i ] = parseInt( value.charAt( i ), 10 ); 20 | } 21 | 22 | // Algorithm for checking CIF codes 23 | sum = num[ 2 ] + num[ 4 ] + num[ 6 ]; 24 | for ( count = 1; count < 8; count += 2 ) { 25 | tmp = ( 2 * num[ count ] ).toString(); 26 | secondDigit = tmp.charAt( 1 ); 27 | 28 | sum += parseInt( tmp.charAt( 0 ), 10 ) + ( secondDigit === "" ? 0 : parseInt( secondDigit, 10 ) ); 29 | } 30 | 31 | /* The first (position 1) is a letter following the following criteria: 32 | * A. Corporations 33 | * B. LLCs 34 | * C. General partnerships 35 | * D. Companies limited partnerships 36 | * E. Communities of goods 37 | * F. Cooperative Societies 38 | * G. Associations 39 | * H. Communities of homeowners in horizontal property regime 40 | * J. Civil Societies 41 | * K. Old format 42 | * L. Old format 43 | * M. Old format 44 | * N. Nonresident entities 45 | * P. Local authorities 46 | * Q. Autonomous bodies, state or not, and the like, and congregations and religious institutions 47 | * R. Congregations and religious institutions (since 2008 ORDER EHA/451/2008) 48 | * S. Organs of State Administration and regions 49 | * V. Agrarian Transformation 50 | * W. Permanent establishments of non-resident in Spain 51 | */ 52 | if ( /^[ABCDEFGHJNPQRSUVW]{1}/.test( value ) ) { 53 | sum += ""; 54 | controlDigit = 10 - parseInt( sum.charAt( sum.length - 1 ), 10 ); 55 | value += controlDigit; 56 | return ( num[ 8 ].toString() === String.fromCharCode( 64 + controlDigit ) || num[ 8 ].toString() === value.charAt( value.length - 1 ) ); 57 | } 58 | 59 | return false; 60 | 61 | }, "Please specify a valid CIF number." ); 62 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/cpfBR.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Brazillian CPF number (Cadastrado de Pessoas Físicas) is the equivalent of a Brazilian tax registration number. 3 | * CPF numbers have 11 digits in total: 9 numbers followed by 2 check numbers that are being used for validation. 4 | */ 5 | $.validator.addMethod( "cpfBR", function( value ) { 6 | 7 | // Removing special characters from value 8 | value = value.replace( /([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g, "" ); 9 | 10 | // Checking value to have 11 digits only 11 | if ( value.length !== 11 ) { 12 | return false; 13 | } 14 | 15 | var sum = 0, 16 | firstCN, secondCN, checkResult, i; 17 | 18 | firstCN = parseInt( value.substring( 9, 10 ), 10 ); 19 | secondCN = parseInt( value.substring( 10, 11 ), 10 ); 20 | 21 | checkResult = function( sum, cn ) { 22 | var result = ( sum * 10 ) % 11; 23 | if ( ( result === 10 ) || ( result === 11 ) ) { 24 | result = 0; 25 | } 26 | return ( result === cn ); 27 | }; 28 | 29 | // Checking for dump data 30 | if ( value === "" || 31 | value === "00000000000" || 32 | value === "11111111111" || 33 | value === "22222222222" || 34 | value === "33333333333" || 35 | value === "44444444444" || 36 | value === "55555555555" || 37 | value === "66666666666" || 38 | value === "77777777777" || 39 | value === "88888888888" || 40 | value === "99999999999" 41 | ) { 42 | return false; 43 | } 44 | 45 | // Step 1 - using first Check Number: 46 | for ( i = 1; i <= 9; i++ ) { 47 | sum = sum + parseInt( value.substring( i - 1, i ), 10 ) * ( 11 - i ); 48 | } 49 | 50 | // If first Check Number (CN) is valid, move to Step 2 - using second Check Number: 51 | if ( checkResult( sum, firstCN ) ) { 52 | sum = 0; 53 | for ( i = 1; i <= 10; i++ ) { 54 | sum = sum + parseInt( value.substring( i - 1, i ), 10 ) * ( 12 - i ); 55 | } 56 | return checkResult( sum, secondCN ); 57 | } 58 | return false; 59 | 60 | }, "Please specify a valid CPF number" ); 61 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/creditcard.js: -------------------------------------------------------------------------------- 1 | // http://jqueryvalidation.org/creditcard-method/ 2 | // based on http://en.wikipedia.org/wiki/Luhn_algorithm 3 | $.validator.addMethod( "creditcard", function( value, element ) { 4 | if ( this.optional( element ) ) { 5 | return "dependency-mismatch"; 6 | } 7 | 8 | // Accept only spaces, digits and dashes 9 | if ( /[^0-9 \-]+/.test( value ) ) { 10 | return false; 11 | } 12 | 13 | var nCheck = 0, 14 | nDigit = 0, 15 | bEven = false, 16 | n, cDigit; 17 | 18 | value = value.replace( /\D/g, "" ); 19 | 20 | // Basing min and max length on 21 | // http://developer.ean.com/general_info/Valid_Credit_Card_Types 22 | if ( value.length < 13 || value.length > 19 ) { 23 | return false; 24 | } 25 | 26 | for ( n = value.length - 1; n >= 0; n-- ) { 27 | cDigit = value.charAt( n ); 28 | nDigit = parseInt( cDigit, 10 ); 29 | if ( bEven ) { 30 | if ( ( nDigit *= 2 ) > 9 ) { 31 | nDigit -= 9; 32 | } 33 | } 34 | 35 | nCheck += nDigit; 36 | bEven = !bEven; 37 | } 38 | 39 | return ( nCheck % 10 ) === 0; 40 | }, "Please enter a valid credit card number." ); 41 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/creditcardtypes.js: -------------------------------------------------------------------------------- 1 | /* NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator 2 | * Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0 3 | * Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings) 4 | */ 5 | $.validator.addMethod( "creditcardtypes", function( value, element, param ) { 6 | if ( /[^0-9\-]+/.test( value ) ) { 7 | return false; 8 | } 9 | 10 | value = value.replace( /\D/g, "" ); 11 | 12 | var validTypes = 0x0000; 13 | 14 | if ( param.mastercard ) { 15 | validTypes |= 0x0001; 16 | } 17 | if ( param.visa ) { 18 | validTypes |= 0x0002; 19 | } 20 | if ( param.amex ) { 21 | validTypes |= 0x0004; 22 | } 23 | if ( param.dinersclub ) { 24 | validTypes |= 0x0008; 25 | } 26 | if ( param.enroute ) { 27 | validTypes |= 0x0010; 28 | } 29 | if ( param.discover ) { 30 | validTypes |= 0x0020; 31 | } 32 | if ( param.jcb ) { 33 | validTypes |= 0x0040; 34 | } 35 | if ( param.unknown ) { 36 | validTypes |= 0x0080; 37 | } 38 | if ( param.all ) { 39 | validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080; 40 | } 41 | if ( validTypes & 0x0001 && /^(5[12345])/.test( value ) ) { // Mastercard 42 | return value.length === 16; 43 | } 44 | if ( validTypes & 0x0002 && /^(4)/.test( value ) ) { // Visa 45 | return value.length === 16; 46 | } 47 | if ( validTypes & 0x0004 && /^(3[47])/.test( value ) ) { // Amex 48 | return value.length === 15; 49 | } 50 | if ( validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test( value ) ) { // Dinersclub 51 | return value.length === 14; 52 | } 53 | if ( validTypes & 0x0010 && /^(2(014|149))/.test( value ) ) { // Enroute 54 | return value.length === 15; 55 | } 56 | if ( validTypes & 0x0020 && /^(6011)/.test( value ) ) { // Discover 57 | return value.length === 16; 58 | } 59 | if ( validTypes & 0x0040 && /^(3)/.test( value ) ) { // Jcb 60 | return value.length === 16; 61 | } 62 | if ( validTypes & 0x0040 && /^(2131|1800)/.test( value ) ) { // Jcb 63 | return value.length === 15; 64 | } 65 | if ( validTypes & 0x0080 ) { // Unknown 66 | return true; 67 | } 68 | return false; 69 | }, "Please enter a valid credit card number." ); 70 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/currency.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Validates currencies with any given symbols by @jameslouiz 3 | * Symbols can be optional or required. Symbols required by default 4 | * 5 | * Usage examples: 6 | * currency: ["£", false] - Use false for soft currency validation 7 | * currency: ["$", false] 8 | * currency: ["RM", false] - also works with text based symbols such as "RM" - Malaysia Ringgit etc 9 | * 10 | * 11 | * 12 | * Soft symbol checking 13 | * currencyInput: { 14 | * currency: ["$", false] 15 | * } 16 | * 17 | * Strict symbol checking (default) 18 | * currencyInput: { 19 | * currency: "$" 20 | * //OR 21 | * currency: ["$", true] 22 | * } 23 | * 24 | * Multiple Symbols 25 | * currencyInput: { 26 | * currency: "$,£,¢" 27 | * } 28 | */ 29 | $.validator.addMethod( "currency", function( value, element, param ) { 30 | var isParamString = typeof param === "string", 31 | symbol = isParamString ? param : param[ 0 ], 32 | soft = isParamString ? true : param[ 1 ], 33 | regex; 34 | 35 | symbol = symbol.replace( /,/g, "" ); 36 | symbol = soft ? symbol + "]" : symbol + "]?"; 37 | regex = "^[" + symbol + "([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$"; 38 | regex = new RegExp( regex ); 39 | return this.optional( element ) || regex.test( value ); 40 | 41 | }, "Please specify a valid currency" ); 42 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/dateFA.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "dateFA", function( value, element ) { 2 | return this.optional( element ) || /^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test( value ); 3 | }, $.validator.messages.date ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/dateITA.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy. 3 | * 4 | * @example $.validator.methods.date("01/01/1900") 5 | * @result true 6 | * 7 | * @example $.validator.methods.date("01/13/1990") 8 | * @result false 9 | * 10 | * @example $.validator.methods.date("01.01.1900") 11 | * @result false 12 | * 13 | * @example 14 | * @desc Declares an optional input element whose value must be a valid date. 15 | * 16 | * @name $.validator.methods.dateITA 17 | * @type Boolean 18 | * @cat Plugins/Validate/Methods 19 | */ 20 | $.validator.addMethod( "dateITA", function( value, element ) { 21 | var check = false, 22 | re = /^\d{1,2}\/\d{1,2}\/\d{4}$/, 23 | adata, gg, mm, aaaa, xdata; 24 | if ( re.test( value ) ) { 25 | adata = value.split( "/" ); 26 | gg = parseInt( adata[ 0 ], 10 ); 27 | mm = parseInt( adata[ 1 ], 10 ); 28 | aaaa = parseInt( adata[ 2 ], 10 ); 29 | xdata = new Date( Date.UTC( aaaa, mm - 1, gg, 12, 0, 0, 0 ) ); 30 | if ( ( xdata.getUTCFullYear() === aaaa ) && ( xdata.getUTCMonth() === mm - 1 ) && ( xdata.getUTCDate() === gg ) ) { 31 | check = true; 32 | } else { 33 | check = false; 34 | } 35 | } else { 36 | check = false; 37 | } 38 | return this.optional( element ) || check; 39 | }, $.validator.messages.date ); 40 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/dateNL.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "dateNL", function( value, element ) { 2 | return this.optional( element ) || /^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test( value ); 3 | }, $.validator.messages.date ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/extension.js: -------------------------------------------------------------------------------- 1 | // Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept 2 | $.validator.addMethod( "extension", function( value, element, param ) { 3 | param = typeof param === "string" ? param.replace( /,/g, "|" ) : "png|jpe?g|gif"; 4 | return this.optional( element ) || value.match( new RegExp( "\\.(" + param + ")$", "i" ) ); 5 | }, $.validator.format( "Please enter a value with a valid extension." ) ); 6 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/giroaccountNL.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch giro account numbers (not bank numbers) have max 7 digits 3 | */ 4 | $.validator.addMethod( "giroaccountNL", function( value, element ) { 5 | return this.optional( element ) || /^[0-9]{1,7}$/.test( value ); 6 | }, "Please specify a valid giro account number" ); 7 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/integer.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "integer", function( value, element ) { 2 | return this.optional( element ) || /^-?\d+$/.test( value ); 3 | }, "A positive or negative non-decimal number please" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/ipv4.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "ipv4", function( value, element ) { 2 | return this.optional( element ) || /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test( value ); 3 | }, "Please enter a valid IP v4 address." ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/ipv6.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "ipv6", function( value, element ) { 2 | return this.optional( element ) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test( value ); 3 | }, "Please enter a valid IP v6 address." ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/lettersonly.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "lettersonly", function( value, element ) { 2 | return this.optional( element ) || /^[a-z]+$/i.test( value ); 3 | }, "Letters only please" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/letterswithbasicpunc.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "letterswithbasicpunc", function( value, element ) { 2 | return this.optional( element ) || /^[a-z\-.,()'"\s]+$/i.test( value ); 3 | }, "Letters or punctuation only please" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/mobileNL.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "mobileNL", function( value, element ) { 2 | return this.optional( element ) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test( value ); 3 | }, "Please specify a valid mobile number" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/mobileUK.js: -------------------------------------------------------------------------------- 1 | /* For UK phone functions, do the following server side processing: 2 | * Compare original input with this RegEx pattern: 3 | * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ 4 | * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' 5 | * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. 6 | * A number of very detailed GB telephone number RegEx patterns can also be found at: 7 | * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers 8 | */ 9 | $.validator.addMethod( "mobileUK", function( phone_number, element ) { 10 | phone_number = phone_number.replace( /\(|\)|\s+|-/g, "" ); 11 | return this.optional( element ) || phone_number.length > 9 && 12 | phone_number.match( /^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/ ); 13 | }, "Please specify a valid mobile number" ); 14 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/nieES.js: -------------------------------------------------------------------------------- 1 | /* 2 | * The número de identidad de extranjero ( NIE )is a code used to identify the non-nationals in Spain 3 | */ 4 | $.validator.addMethod( "nieES", function( value ) { 5 | "use strict"; 6 | 7 | value = value.toUpperCase(); 8 | 9 | // Basic format test 10 | if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { 11 | return false; 12 | } 13 | 14 | // Test NIE 15 | //T 16 | if ( /^[T]{1}/.test( value ) ) { 17 | return ( value[ 8 ] === /^[T]{1}[A-Z0-9]{8}$/.test( value ) ); 18 | } 19 | 20 | //XYZ 21 | if ( /^[XYZ]{1}/.test( value ) ) { 22 | return ( 23 | value[ 8 ] === "TRWAGMYFPDXBNJZSQVHLCKE".charAt( 24 | value.replace( "X", "0" ) 25 | .replace( "Y", "1" ) 26 | .replace( "Z", "2" ) 27 | .substring( 0, 8 ) % 23 28 | ) 29 | ); 30 | } 31 | 32 | return false; 33 | 34 | }, "Please specify a valid NIE number." ); 35 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/nifES.js: -------------------------------------------------------------------------------- 1 | /* 2 | * The Número de Identificación Fiscal ( NIF ) is the way tax identification used in Spain for individuals 3 | */ 4 | $.validator.addMethod( "nifES", function( value ) { 5 | "use strict"; 6 | 7 | value = value.toUpperCase(); 8 | 9 | // Basic format test 10 | if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { 11 | return false; 12 | } 13 | 14 | // Test NIF 15 | if ( /^[0-9]{8}[A-Z]{1}$/.test( value ) ) { 16 | return ( "TRWAGMYFPDXBNJZSQVHLCKE".charAt( value.substring( 8, 0 ) % 23 ) === value.charAt( 8 ) ); 17 | } 18 | 19 | // Test specials NIF (starts with K, L or M) 20 | if ( /^[KLM]{1}/.test( value ) ) { 21 | return ( value[ 8 ] === String.fromCharCode( 64 ) ); 22 | } 23 | 24 | return false; 25 | 26 | }, "Please specify a valid NIF number." ); 27 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/notEqualTo.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "notEqualTo", function( value, element, param ) { 2 | return this.optional( element ) || !$.validator.methods.equalTo.call( this, value, element, param ); 3 | }, "Please enter a different value, values must not be the same." ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/nowhitespace.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "nowhitespace", function( value, element ) { 2 | return this.optional( element ) || /^\S+$/i.test( value ); 3 | }, "No white space please" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/pattern.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Return true if the field value matches the given format RegExp 3 | * 4 | * @example $.validator.methods.pattern("AR1004",element,/^AR\d{4}$/) 5 | * @result true 6 | * 7 | * @example $.validator.methods.pattern("BR1004",element,/^AR\d{4}$/) 8 | * @result false 9 | * 10 | * @name $.validator.methods.pattern 11 | * @type Boolean 12 | * @cat Plugins/Validate/Methods 13 | */ 14 | $.validator.addMethod( "pattern", function( value, element, param ) { 15 | if ( this.optional( element ) ) { 16 | return true; 17 | } 18 | if ( typeof param === "string" ) { 19 | param = new RegExp( "^(?:" + param + ")$" ); 20 | } 21 | return param.test( value ); 22 | }, "Invalid format." ); 23 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/phoneNL.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch phone numbers have 10 digits (or 11 and start with +31). 3 | */ 4 | $.validator.addMethod( "phoneNL", function( value, element ) { 5 | return this.optional( element ) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test( value ); 6 | }, "Please specify a valid phone number." ); 7 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/phoneUK.js: -------------------------------------------------------------------------------- 1 | /* For UK phone functions, do the following server side processing: 2 | * Compare original input with this RegEx pattern: 3 | * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ 4 | * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' 5 | * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. 6 | * A number of very detailed GB telephone number RegEx patterns can also be found at: 7 | * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers 8 | */ 9 | $.validator.addMethod( "phoneUK", function( phone_number, element ) { 10 | phone_number = phone_number.replace( /\(|\)|\s+|-/g, "" ); 11 | return this.optional( element ) || phone_number.length > 9 && 12 | phone_number.match( /^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/ ); 13 | }, "Please specify a valid phone number" ); 14 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/phoneUS.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Matches US phone number format 3 | * 4 | * where the area code may not start with 1 and the prefix may not start with 1 5 | * allows '-' or ' ' as a separator and allows parens around area code 6 | * some people may want to put a '1' in front of their number 7 | * 8 | * 1(212)-999-2345 or 9 | * 212 999 2344 or 10 | * 212-999-0983 11 | * 12 | * but not 13 | * 111-123-5434 14 | * and not 15 | * 212 123 4567 16 | */ 17 | $.validator.addMethod( "phoneUS", function( phone_number, element ) { 18 | phone_number = phone_number.replace( /\s+/g, "" ); 19 | return this.optional( element ) || phone_number.length > 9 && 20 | phone_number.match( /^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/ ); 21 | }, "Please specify a valid phone number" ); 22 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/phonesUK.js: -------------------------------------------------------------------------------- 1 | /* For UK phone functions, do the following server side processing: 2 | * Compare original input with this RegEx pattern: 3 | * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ 4 | * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' 5 | * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. 6 | * A number of very detailed GB telephone number RegEx patterns can also be found at: 7 | * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers 8 | */ 9 | 10 | // Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers 11 | $.validator.addMethod( "phonesUK", function( phone_number, element ) { 12 | phone_number = phone_number.replace( /\(|\)|\s+|-/g, "" ); 13 | return this.optional( element ) || phone_number.length > 9 && 14 | phone_number.match( /^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/ ); 15 | }, "Please specify a valid uk phone number" ); 16 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/postalCodeCA.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Matches a valid Canadian Postal Code 3 | * 4 | * @example jQuery.validator.methods.postalCodeCA( "H0H 0H0", element ) 5 | * @result true 6 | * 7 | * @example jQuery.validator.methods.postalCodeCA( "H0H0H0", element ) 8 | * @result false 9 | * 10 | * @name jQuery.validator.methods.postalCodeCA 11 | * @type Boolean 12 | * @cat Plugins/Validate/Methods 13 | */ 14 | $.validator.addMethod( "postalCodeCA", function( value, element ) { 15 | return this.optional( element ) || /^[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJKLMNPRSTVWXYZ] *\d[ABCEGHJKLMNPRSTVWXYZ]\d$/i.test( value ); 16 | }, "Please specify a valid postal code" ); 17 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/postalcodeBR.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Valida CEPs do brasileiros: 3 | * 4 | * Formatos aceitos: 5 | * 99999-999 6 | * 99.999-999 7 | * 99999999 8 | */ 9 | $.validator.addMethod( "postalcodeBR", function( cep_value, element ) { 10 | return this.optional( element ) || /^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test( cep_value ); 11 | }, "Informe um CEP válido." ); 12 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/postalcodeIT.js: -------------------------------------------------------------------------------- 1 | /* Matches Italian postcode (CAP) */ 2 | $.validator.addMethod( "postalcodeIT", function( value, element ) { 3 | return this.optional( element ) || /^\d{5}$/.test( value ); 4 | }, "Please specify a valid postal code" ); 5 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/postalcodeNL.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "postalcodeNL", function( value, element ) { 2 | return this.optional( element ) || /^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test( value ); 3 | }, "Please specify a valid postal code" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/postcodeUK.js: -------------------------------------------------------------------------------- 1 | // Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK) 2 | $.validator.addMethod( "postcodeUK", function( value, element ) { 3 | return this.optional( element ) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test( value ); 4 | }, "Please specify a valid UK postcode" ); 5 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/require_from_group.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Lets you say "at least X inputs that match selector Y must be filled." 3 | * 4 | * The end result is that neither of these inputs: 5 | * 6 | * 7 | * 8 | * 9 | * ...will validate unless at least one of them is filled. 10 | * 11 | * partnumber: {require_from_group: [1,".productinfo"]}, 12 | * description: {require_from_group: [1,".productinfo"]} 13 | * 14 | * options[0]: number of fields that must be filled in the group 15 | * options[1]: CSS selector that defines the group of conditionally required fields 16 | */ 17 | $.validator.addMethod( "require_from_group", function( value, element, options ) { 18 | var $fields = $( options[ 1 ], element.form ), 19 | $fieldsFirst = $fields.eq( 0 ), 20 | validator = $fieldsFirst.data( "valid_req_grp" ) ? $fieldsFirst.data( "valid_req_grp" ) : $.extend( {}, this ), 21 | isValid = $fields.filter( function() { 22 | return validator.elementValue( this ); 23 | } ).length >= options[ 0 ]; 24 | 25 | // Store the cloned validator for future validation 26 | $fieldsFirst.data( "valid_req_grp", validator ); 27 | 28 | // If element isn't being validated, run each require_from_group field's validation rules 29 | if ( !$( element ).data( "being_validated" ) ) { 30 | $fields.data( "being_validated", true ); 31 | $fields.each( function() { 32 | validator.element( this ); 33 | } ); 34 | $fields.data( "being_validated", false ); 35 | } 36 | return isValid; 37 | }, $.validator.format( "Please fill at least {0} of these fields." ) ); 38 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/skip_or_fill_minimum.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Lets you say "either at least X inputs that match selector Y must be filled, 3 | * OR they must all be skipped (left blank)." 4 | * 5 | * The end result, is that none of these inputs: 6 | * 7 | * 8 | * 9 | * 10 | * 11 | * ...will validate unless either at least two of them are filled, 12 | * OR none of them are. 13 | * 14 | * partnumber: {skip_or_fill_minimum: [2,".productinfo"]}, 15 | * description: {skip_or_fill_minimum: [2,".productinfo"]}, 16 | * color: {skip_or_fill_minimum: [2,".productinfo"]} 17 | * 18 | * options[0]: number of fields that must be filled in the group 19 | * options[1]: CSS selector that defines the group of conditionally required fields 20 | * 21 | */ 22 | $.validator.addMethod( "skip_or_fill_minimum", function( value, element, options ) { 23 | var $fields = $( options[ 1 ], element.form ), 24 | $fieldsFirst = $fields.eq( 0 ), 25 | validator = $fieldsFirst.data( "valid_skip" ) ? $fieldsFirst.data( "valid_skip" ) : $.extend( {}, this ), 26 | numberFilled = $fields.filter( function() { 27 | return validator.elementValue( this ); 28 | } ).length, 29 | isValid = numberFilled === 0 || numberFilled >= options[ 0 ]; 30 | 31 | // Store the cloned validator for future validation 32 | $fieldsFirst.data( "valid_skip", validator ); 33 | 34 | // If element isn't being validated, run each skip_or_fill_minimum field's validation rules 35 | if ( !$( element ).data( "being_validated" ) ) { 36 | $fields.data( "being_validated", true ); 37 | $fields.each( function() { 38 | validator.element( this ); 39 | } ); 40 | $fields.data( "being_validated", false ); 41 | } 42 | return isValid; 43 | }, $.validator.format( "Please either skip these fields or fill at least {0} of them." ) ); 44 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/statesUS.js: -------------------------------------------------------------------------------- 1 | /* Validates US States and/or Territories by @jdforsythe 2 | * Can be case insensitive or require capitalization - default is case insensitive 3 | * Can include US Territories or not - default does not 4 | * Can include US Military postal abbreviations (AA, AE, AP) - default does not 5 | * 6 | * Note: "States" always includes DC (District of Colombia) 7 | * 8 | * Usage examples: 9 | * 10 | * This is the default - case insensitive, no territories, no military zones 11 | * stateInput: { 12 | * caseSensitive: false, 13 | * includeTerritories: false, 14 | * includeMilitary: false 15 | * } 16 | * 17 | * Only allow capital letters, no territories, no military zones 18 | * stateInput: { 19 | * caseSensitive: false 20 | * } 21 | * 22 | * Case insensitive, include territories but not military zones 23 | * stateInput: { 24 | * includeTerritories: true 25 | * } 26 | * 27 | * Only allow capital letters, include territories and military zones 28 | * stateInput: { 29 | * caseSensitive: true, 30 | * includeTerritories: true, 31 | * includeMilitary: true 32 | * } 33 | * 34 | */ 35 | $.validator.addMethod( "stateUS", function( value, element, options ) { 36 | var isDefault = typeof options === "undefined", 37 | caseSensitive = ( isDefault || typeof options.caseSensitive === "undefined" ) ? false : options.caseSensitive, 38 | includeTerritories = ( isDefault || typeof options.includeTerritories === "undefined" ) ? false : options.includeTerritories, 39 | includeMilitary = ( isDefault || typeof options.includeMilitary === "undefined" ) ? false : options.includeMilitary, 40 | regex; 41 | 42 | if ( !includeTerritories && !includeMilitary ) { 43 | regex = "^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$"; 44 | } else if ( includeTerritories && includeMilitary ) { 45 | regex = "^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"; 46 | } else if ( includeTerritories ) { 47 | regex = "^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"; 48 | } else { 49 | regex = "^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$"; 50 | } 51 | 52 | regex = caseSensitive ? new RegExp( regex ) : new RegExp( regex, "i" ); 53 | return this.optional( element ) || regex.test( value ); 54 | }, "Please specify a valid state" ); 55 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/strippedminlength.js: -------------------------------------------------------------------------------- 1 | // TODO check if value starts with <, otherwise don't try stripping anything 2 | $.validator.addMethod( "strippedminlength", function( value, element, param ) { 3 | return $( value ).text().length >= param; 4 | }, $.validator.format( "Please enter at least {0} characters" ) ); 5 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/time.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "time", function( value, element ) { 2 | return this.optional( element ) || /^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test( value ); 3 | }, "Please enter a valid time, between 00:00 and 23:59" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/time12h.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "time12h", function( value, element ) { 2 | return this.optional( element ) || /^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test( value ); 3 | }, "Please enter a valid time in 12-hour am/pm format" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/url2.js: -------------------------------------------------------------------------------- 1 | // Same as url, but TLD is optional 2 | $.validator.addMethod( "url2", function( value, element ) { 3 | return this.optional( element ) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test( value ); 4 | }, $.validator.messages.url ); 5 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/vinUS.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Return true, if the value is a valid vehicle identification number (VIN). 3 | * 4 | * Works with all kind of text inputs. 5 | * 6 | * @example 7 | * @desc Declares a required input element whose value must be a valid vehicle identification number. 8 | * 9 | * @name $.validator.methods.vinUS 10 | * @type Boolean 11 | * @cat Plugins/Validate/Methods 12 | */ 13 | $.validator.addMethod( "vinUS", function( v ) { 14 | if ( v.length !== 17 ) { 15 | return false; 16 | } 17 | 18 | var LL = [ "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ], 19 | VL = [ 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 7, 9, 2, 3, 4, 5, 6, 7, 8, 9 ], 20 | FL = [ 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2 ], 21 | rs = 0, 22 | i, n, d, f, cd, cdv; 23 | 24 | for ( i = 0; i < 17; i++ ) { 25 | f = FL[ i ]; 26 | d = v.slice( i, i + 1 ); 27 | if ( i === 8 ) { 28 | cdv = d; 29 | } 30 | if ( !isNaN( d ) ) { 31 | d *= f; 32 | } else { 33 | for ( n = 0; n < LL.length; n++ ) { 34 | if ( d.toUpperCase() === LL[ n ] ) { 35 | d = VL[ n ]; 36 | d *= f; 37 | if ( isNaN( cdv ) && n === 8 ) { 38 | cdv = LL[ n ]; 39 | } 40 | break; 41 | } 42 | } 43 | } 44 | rs += d; 45 | } 46 | cd = rs % 11; 47 | if ( cd === 10 ) { 48 | cd = "X"; 49 | } 50 | if ( cd === cdv ) { 51 | return true; 52 | } 53 | return false; 54 | }, "The specified vehicle identification number (VIN) is invalid." ); 55 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/zipcodeUS.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "zipcodeUS", function( value, element ) { 2 | return this.optional( element ) || /^\d{5}(-\d{4})?$/.test( value ); 3 | }, "The specified US ZIP Code is invalid" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/additional/ziprange.js: -------------------------------------------------------------------------------- 1 | $.validator.addMethod( "ziprange", function( value, element ) { 2 | return this.optional( element ) || /^90[2-5]\d\{2\}-\d{4}$/.test( value ); 3 | }, "Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx" ); 4 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/ajax.js: -------------------------------------------------------------------------------- 1 | // Ajax mode: abort 2 | // usage: $.ajax({ mode: "abort"[, port: "uniqueport"]}); 3 | // if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort() 4 | 5 | var pendingRequests = {}, 6 | ajax; 7 | 8 | // Use a prefilter if available (1.5+) 9 | if ( $.ajaxPrefilter ) { 10 | $.ajaxPrefilter( function( settings, _, xhr ) { 11 | var port = settings.port; 12 | if ( settings.mode === "abort" ) { 13 | if ( pendingRequests[ port ] ) { 14 | pendingRequests[ port ].abort(); 15 | } 16 | pendingRequests[ port ] = xhr; 17 | } 18 | } ); 19 | } else { 20 | 21 | // Proxy ajax 22 | ajax = $.ajax; 23 | $.ajax = function( settings ) { 24 | var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode, 25 | port = ( "port" in settings ? settings : $.ajaxSettings ).port; 26 | if ( mode === "abort" ) { 27 | if ( pendingRequests[ port ] ) { 28 | pendingRequests[ port ].abort(); 29 | } 30 | pendingRequests[ port ] = ajax.apply( this, arguments ); 31 | return pendingRequests[ port ]; 32 | } 33 | return ajax.apply( this, arguments ); 34 | }; 35 | } 36 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_ar.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: AR (Arabic; العربية) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "هذا الحقل إلزامي", 7 | remote: "يرجى تصحيح هذا الحقل للمتابعة", 8 | email: "رجاء إدخال عنوان بريد إلكتروني صحيح", 9 | url: "رجاء إدخال عنوان موقع إلكتروني صحيح", 10 | date: "رجاء إدخال تاريخ صحيح", 11 | dateISO: "رجاء إدخال تاريخ صحيح (ISO)", 12 | number: "رجاء إدخال عدد بطريقة صحيحة", 13 | digits: "رجاء إدخال أرقام فقط", 14 | creditcard: "رجاء إدخال رقم بطاقة ائتمان صحيح", 15 | equalTo: "رجاء إدخال نفس القيمة", 16 | extension: "رجاء إدخال ملف بامتداد موافق عليه", 17 | maxlength: $.validator.format( "الحد الأقصى لعدد الحروف هو {0}" ), 18 | minlength: $.validator.format( "الحد الأدنى لعدد الحروف هو {0}" ), 19 | rangelength: $.validator.format( "عدد الحروف يجب أن يكون بين {0} و {1}" ), 20 | range: $.validator.format( "رجاء إدخال عدد قيمته بين {0} و {1}" ), 21 | max: $.validator.format( "رجاء إدخال عدد أقل من أو يساوي (0}" ), 22 | min: $.validator.format( "رجاء إدخال عدد أكبر من أو يساوي (0}" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_az: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: Az (Azeri; azərbaycan dili) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Bu xana mütləq doldurulmalıdır.", 7 | remote: "Zəhmət olmasa, düzgün məna daxil edin.", 8 | email: "Zəhmət olmasa, düzgün elektron poçt daxil edin.", 9 | url: "Zəhmət olmasa, düzgün URL daxil edin.", 10 | date: "Zəhmət olmasa, düzgün tarix daxil edin.", 11 | dateISO: "Zəhmət olmasa, düzgün ISO formatlı tarix daxil edin.", 12 | number: "Zəhmət olmasa, düzgün rəqəm daxil edin.", 13 | digits: "Zəhmət olmasa, yalnız rəqəm daxil edin.", 14 | creditcard: "Zəhmət olmasa, düzgün kredit kart nömrəsini daxil edin.", 15 | equalTo: "Zəhmət olmasa, eyni mənanı bir daha daxil edin.", 16 | extension: "Zəhmət olmasa, düzgün genişlənməyə malik faylı seçin.", 17 | maxlength: $.validator.format( "Zəhmət olmasa, {0} simvoldan çox olmayaraq daxil edin." ), 18 | minlength: $.validator.format( "Zəhmət olmasa, {0} simvoldan az olmayaraq daxil edin." ), 19 | rangelength: $.validator.format( "Zəhmət olmasa, {0} - {1} aralığında uzunluğa malik simvol daxil edin." ), 20 | range: $.validator.format( "Zəhmət olmasa, {0} - {1} aralığında rəqəm daxil edin." ), 21 | max: $.validator.format( "Zəhmət olmasa, {0} və ondan kiçik rəqəm daxil edin." ), 22 | min: $.validator.format( "Zəhmət olmasa, {0} və ondan böyük rəqəm daxil edin" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_bg.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: BG (Bulgarian; български език) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Полето е задължително.", 7 | remote: "Моля, въведете правилната стойност.", 8 | email: "Моля, въведете валиден email.", 9 | url: "Моля, въведете валидно URL.", 10 | date: "Моля, въведете валидна дата.", 11 | dateISO: "Моля, въведете валидна дата (ISO).", 12 | number: "Моля, въведете валиден номер.", 13 | digits: "Моля, въведете само цифри.", 14 | creditcard: "Моля, въведете валиден номер на кредитна карта.", 15 | equalTo: "Моля, въведете същата стойност отново.", 16 | extension: "Моля, въведете стойност с валидно разширение.", 17 | maxlength: $.validator.format( "Моля, въведете повече от {0} символа." ), 18 | minlength: $.validator.format( "Моля, въведете поне {0} символа." ), 19 | rangelength: $.validator.format( "Моля, въведете стойност с дължина между {0} и {1} символа." ), 20 | range: $.validator.format( "Моля, въведете стойност между {0} и {1}." ), 21 | max: $.validator.format( "Моля, въведете стойност по-малка или равна на {0}." ), 22 | min: $.validator.format( "Моля, въведете стойност по-голяма или равна на {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_bn_BD.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: bn_BD (Bengali, Bangladesh) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "এই তথ্যটি আবশ্যক।", 7 | remote: "এই তথ্যটি ঠিক করুন।", 8 | email: "অনুগ্রহ করে একটি সঠিক মেইল ঠিকানা লিখুন।", 9 | url: "অনুগ্রহ করে একটি সঠিক লিঙ্ক দিন।", 10 | date: "তারিখ সঠিক নয়।", 11 | dateISO: "অনুগ্রহ করে একটি সঠিক (ISO) তারিখ লিখুন।", 12 | number: "অনুগ্রহ করে একটি সঠিক নম্বর লিখুন।", 13 | digits: "এখানে শুধু সংখ্যা ব্যবহার করা যাবে।", 14 | creditcard: "অনুগ্রহ করে একটি ক্রেডিট কার্ডের সঠিক নম্বর লিখুন।", 15 | equalTo: "একই মান আবার লিখুন।", 16 | extension: "সঠিক ধরনের ফাইল আপলোড করুন।", 17 | maxlength: $.validator.format( "{0}টির বেশি অক্ষর লেখা যাবে না।" ), 18 | minlength: $.validator.format( "{0}টির কম অক্ষর লেখা যাবে না।" ), 19 | rangelength: $.validator.format( "{0} থেকে {1} টি অক্ষর সম্বলিত মান লিখুন।" ), 20 | range: $.validator.format( "{0} থেকে {1} এর মধ্যে একটি মান ব্যবহার করুন।" ), 21 | max: $.validator.format( "অনুগ্রহ করে {0} বা তার চাইতে কম মান ব্যবহার করুন।" ), 22 | min: $.validator.format( "অনুগ্রহ করে {0} বা তার চাইতে বেশি মান ব্যবহার করুন।" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_ca.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: CA (Catalan; català) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Aquest camp és obligatori.", 7 | remote: "Si us plau, omple aquest camp.", 8 | email: "Si us plau, escriu una adreça de correu-e vàlida", 9 | url: "Si us plau, escriu una URL vàlida.", 10 | date: "Si us plau, escriu una data vàlida.", 11 | dateISO: "Si us plau, escriu una data (ISO) vàlida.", 12 | number: "Si us plau, escriu un número enter vàlid.", 13 | digits: "Si us plau, escriu només dígits.", 14 | creditcard: "Si us plau, escriu un número de tarjeta vàlid.", 15 | equalTo: "Si us plau, escriu el mateix valor de nou.", 16 | extension: "Si us plau, escriu un valor amb una extensió acceptada.", 17 | maxlength: $.validator.format( "Si us plau, no escriguis més de {0} caracters." ), 18 | minlength: $.validator.format( "Si us plau, no escriguis menys de {0} caracters." ), 19 | rangelength: $.validator.format( "Si us plau, escriu un valor entre {0} i {1} caracters." ), 20 | range: $.validator.format( "Si us plau, escriu un valor entre {0} i {1}." ), 21 | max: $.validator.format( "Si us plau, escriu un valor menor o igual a {0}." ), 22 | min: $.validator.format( "Si us plau, escriu un valor major o igual a {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_cs.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: CS (Czech; čeština, český jazyk) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Tento údaj je povinný.", 7 | remote: "Prosím, opravte tento údaj.", 8 | email: "Prosím, zadejte platný e-mail.", 9 | url: "Prosím, zadejte platné URL.", 10 | date: "Prosím, zadejte platné datum.", 11 | dateISO: "Prosím, zadejte platné datum (ISO).", 12 | number: "Prosím, zadejte číslo.", 13 | digits: "Prosím, zadávejte pouze číslice.", 14 | creditcard: "Prosím, zadejte číslo kreditní karty.", 15 | equalTo: "Prosím, zadejte znovu stejnou hodnotu.", 16 | extension: "Prosím, zadejte soubor se správnou příponou.", 17 | maxlength: $.validator.format( "Prosím, zadejte nejvíce {0} znaků." ), 18 | minlength: $.validator.format( "Prosím, zadejte nejméně {0} znaků." ), 19 | rangelength: $.validator.format( "Prosím, zadejte od {0} do {1} znaků." ), 20 | range: $.validator.format( "Prosím, zadejte hodnotu od {0} do {1}." ), 21 | max: $.validator.format( "Prosím, zadejte hodnotu menší nebo rovnu {0}." ), 22 | min: $.validator.format( "Prosím, zadejte hodnotu větší nebo rovnu {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_da.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: DA (Danish; dansk) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Dette felt er påkrævet.", 7 | maxlength: $.validator.format( "Indtast højst {0} tegn." ), 8 | minlength: $.validator.format( "Indtast mindst {0} tegn." ), 9 | rangelength: $.validator.format( "Indtast mindst {0} og højst {1} tegn." ), 10 | email: "Indtast en gyldig email-adresse.", 11 | url: "Indtast en gyldig URL.", 12 | date: "Indtast en gyldig dato.", 13 | number: "Indtast et tal.", 14 | digits: "Indtast kun cifre.", 15 | equalTo: "Indtast den samme værdi igen.", 16 | range: $.validator.format( "Angiv en værdi mellem {0} og {1}." ), 17 | max: $.validator.format( "Angiv en værdi der højst er {0}." ), 18 | min: $.validator.format( "Angiv en værdi der mindst er {0}." ), 19 | creditcard: "Indtast et gyldigt kreditkortnummer." 20 | } ); 21 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_de.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: DE (German, Deutsch) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Dieses Feld ist ein Pflichtfeld.", 7 | maxlength: $.validator.format( "Geben Sie bitte maximal {0} Zeichen ein." ), 8 | minlength: $.validator.format( "Geben Sie bitte mindestens {0} Zeichen ein." ), 9 | rangelength: $.validator.format( "Geben Sie bitte mindestens {0} und maximal {1} Zeichen ein." ), 10 | email: "Geben Sie bitte eine gültige E-Mail Adresse ein.", 11 | url: "Geben Sie bitte eine gültige URL ein.", 12 | date: "Bitte geben Sie ein gültiges Datum ein.", 13 | number: "Geben Sie bitte eine Nummer ein.", 14 | digits: "Geben Sie bitte nur Ziffern ein.", 15 | equalTo: "Bitte denselben Wert wiederholen.", 16 | range: $.validator.format( "Geben Sie bitte einen Wert zwischen {0} und {1} ein." ), 17 | max: $.validator.format( "Geben Sie bitte einen Wert kleiner oder gleich {0} ein." ), 18 | min: $.validator.format( "Geben Sie bitte einen Wert größer oder gleich {0} ein." ), 19 | creditcard: "Geben Sie bitte eine gültige Kreditkarten-Nummer ein." 20 | } ); 21 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_el.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: EL (Greek; ελληνικά) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Αυτό το πεδίο είναι υποχρεωτικό.", 7 | remote: "Παρακαλώ διορθώστε αυτό το πεδίο.", 8 | email: "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email.", 9 | url: "Παρακαλώ εισάγετε ένα έγκυρο URL.", 10 | date: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία.", 11 | dateISO: "Παρακαλώ εισάγετε μια έγκυρη ημερομηνία (ISO).", 12 | number: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό.", 13 | digits: "Παρακαλώ εισάγετε μόνο αριθμητικά ψηφία.", 14 | creditcard: "Παρακαλώ εισάγετε έναν έγκυρο αριθμό πιστωτικής κάρτας.", 15 | equalTo: "Παρακαλώ εισάγετε την ίδια τιμή ξανά.", 16 | extension: "Παρακαλώ εισάγετε μια τιμή με έγκυρη επέκταση αρχείου.", 17 | maxlength: $.validator.format( "Παρακαλώ εισάγετε μέχρι και {0} χαρακτήρες." ), 18 | minlength: $.validator.format( "Παρακαλώ εισάγετε τουλάχιστον {0} χαρακτήρες." ), 19 | rangelength: $.validator.format( "Παρακαλώ εισάγετε μια τιμή με μήκος μεταξύ {0} και {1} χαρακτήρων." ), 20 | range: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μεταξύ {0} και {1}." ), 21 | max: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μικρότερη ή ίση του {0}." ), 22 | min: $.validator.format( "Παρακαλώ εισάγετε μια τιμή μεγαλύτερη ή ίση του {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_es.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ES (Spanish; Español) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Este campo es obligatorio.", 7 | remote: "Por favor, rellena este campo.", 8 | email: "Por favor, escribe una dirección de correo válida.", 9 | url: "Por favor, escribe una URL válida.", 10 | date: "Por favor, escribe una fecha válida.", 11 | dateISO: "Por favor, escribe una fecha (ISO) válida.", 12 | number: "Por favor, escribe un número válido.", 13 | digits: "Por favor, escribe sólo dígitos.", 14 | creditcard: "Por favor, escribe un número de tarjeta válido.", 15 | equalTo: "Por favor, escribe el mismo valor de nuevo.", 16 | extension: "Por favor, escribe un valor con una extensión aceptada.", 17 | maxlength: $.validator.format( "Por favor, no escribas más de {0} caracteres." ), 18 | minlength: $.validator.format( "Por favor, no escribas menos de {0} caracteres." ), 19 | rangelength: $.validator.format( "Por favor, escribe un valor entre {0} y {1} caracteres." ), 20 | range: $.validator.format( "Por favor, escribe un valor entre {0} y {1}." ), 21 | max: $.validator.format( "Por favor, escribe un valor menor o igual a {0}." ), 22 | min: $.validator.format( "Por favor, escribe un valor mayor o igual a {0}." ), 23 | nifES: "Por favor, escribe un NIF válido.", 24 | nieES: "Por favor, escribe un NIE válido.", 25 | cifES: "Por favor, escribe un CIF válido." 26 | } ); 27 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_es_AR.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ES (Spanish; Español) 4 | * Region: AR (Argentina) 5 | */ 6 | $.extend( $.validator.messages, { 7 | required: "Este campo es obligatorio.", 8 | remote: "Por favor, completá este campo.", 9 | email: "Por favor, escribí una dirección de correo válida.", 10 | url: "Por favor, escribí una URL válida.", 11 | date: "Por favor, escribí una fecha válida.", 12 | dateISO: "Por favor, escribí una fecha (ISO) válida.", 13 | number: "Por favor, escribí un número entero válido.", 14 | digits: "Por favor, escribí sólo dígitos.", 15 | creditcard: "Por favor, escribí un número de tarjeta válido.", 16 | equalTo: "Por favor, escribí el mismo valor de nuevo.", 17 | extension: "Por favor, escribí un valor con una extensión aceptada.", 18 | maxlength: $.validator.format( "Por favor, no escribas más de {0} caracteres." ), 19 | minlength: $.validator.format( "Por favor, no escribas menos de {0} caracteres." ), 20 | rangelength: $.validator.format( "Por favor, escribí un valor entre {0} y {1} caracteres." ), 21 | range: $.validator.format( "Por favor, escribí un valor entre {0} y {1}." ), 22 | max: $.validator.format( "Por favor, escribí un valor menor o igual a {0}." ), 23 | min: $.validator.format( "Por favor, escribí un valor mayor o igual a {0}." ), 24 | nifES: "Por favor, escribí un NIF válido.", 25 | nieES: "Por favor, escribí un NIE válido.", 26 | cifES: "Por favor, escribí un CIF válido." 27 | } ); 28 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_es_PE.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ES (Spanish; Español) 4 | * Region: PE (Perú) 5 | */ 6 | $.extend( $.validator.messages, { 7 | required: "Este campo es obligatorio.", 8 | remote: "Por favor, llene este campo.", 9 | email: "Por favor, escriba un correo electrónico válido.", 10 | url: "Por favor, escriba una URL válida.", 11 | date: "Por favor, escriba una fecha válida.", 12 | dateISO: "Por favor, escriba una fecha (ISO) válida.", 13 | number: "Por favor, escriba un número válido.", 14 | digits: "Por favor, escriba sólo dígitos.", 15 | creditcard: "Por favor, escriba un número de tarjeta válido.", 16 | equalTo: "Por favor, escriba el mismo valor de nuevo.", 17 | extension: "Por favor, escriba un valor con una extensión permitida.", 18 | maxlength: $.validator.format( "Por favor, no escriba más de {0} caracteres." ), 19 | minlength: $.validator.format( "Por favor, no escriba menos de {0} caracteres." ), 20 | rangelength: $.validator.format( "Por favor, escriba un valor entre {0} y {1} caracteres." ), 21 | range: $.validator.format( "Por favor, escriba un valor entre {0} y {1}." ), 22 | max: $.validator.format( "Por favor, escriba un valor menor o igual a {0}." ), 23 | min: $.validator.format( "Por favor, escriba un valor mayor o igual a {0}." ), 24 | nifES: "Por favor, escriba un NIF válido.", 25 | nieES: "Por favor, escriba un NIE válido.", 26 | cifES: "Por favor, escriba un CIF válido." 27 | } ); 28 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_et.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ET (Estonian; eesti, eesti keel) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "See väli peab olema täidetud.", 7 | maxlength: $.validator.format( "Palun sisestage vähem kui {0} tähemärki." ), 8 | minlength: $.validator.format( "Palun sisestage vähemalt {0} tähemärki." ), 9 | rangelength: $.validator.format( "Palun sisestage väärtus vahemikus {0} kuni {1} tähemärki." ), 10 | email: "Palun sisestage korrektne e-maili aadress.", 11 | url: "Palun sisestage korrektne URL.", 12 | date: "Palun sisestage korrektne kuupäev.", 13 | dateISO: "Palun sisestage korrektne kuupäev (YYYY-MM-DD).", 14 | number: "Palun sisestage korrektne number.", 15 | digits: "Palun sisestage ainult numbreid.", 16 | equalTo: "Palun sisestage sama väärtus uuesti.", 17 | range: $.validator.format( "Palun sisestage väärtus vahemikus {0} kuni {1}." ), 18 | max: $.validator.format( "Palun sisestage väärtus, mis on väiksem või võrdne arvuga {0}." ), 19 | min: $.validator.format( "Palun sisestage väärtus, mis on suurem või võrdne arvuga {0}." ), 20 | creditcard: "Palun sisestage korrektne krediitkaardi number." 21 | } ); 22 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_eu.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: EU (Basque; euskara, euskera) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Eremu hau beharrezkoa da.", 7 | remote: "Mesedez, bete eremu hau.", 8 | email: "Mesedez, idatzi baliozko posta helbide bat.", 9 | url: "Mesedez, idatzi baliozko URL bat.", 10 | date: "Mesedez, idatzi baliozko data bat.", 11 | dateISO: "Mesedez, idatzi baliozko (ISO) data bat.", 12 | number: "Mesedez, idatzi baliozko zenbaki oso bat.", 13 | digits: "Mesedez, idatzi digituak soilik.", 14 | creditcard: "Mesedez, idatzi baliozko txartel zenbaki bat.", 15 | equalTo: "Mesedez, idatzi berdina berriro ere.", 16 | extension: "Mesedez, idatzi onartutako luzapena duen balio bat.", 17 | maxlength: $.validator.format( "Mesedez, ez idatzi {0} karaktere baino gehiago." ), 18 | minlength: $.validator.format( "Mesedez, ez idatzi {0} karaktere baino gutxiago." ), 19 | rangelength: $.validator.format( "Mesedez, idatzi {0} eta {1} karaktere arteko balio bat." ), 20 | range: $.validator.format( "Mesedez, idatzi {0} eta {1} arteko balio bat." ), 21 | max: $.validator.format( "Mesedez, idatzi {0} edo txikiagoa den balio bat." ), 22 | min: $.validator.format( "Mesedez, idatzi {0} edo handiagoa den balio bat." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_fa.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: FA (Persian; فارسی) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "تکمیل این فیلد اجباری است.", 7 | remote: "لطفا این فیلد را تصحیح کنید.", 8 | email: ".لطفا یک ایمیل صحیح وارد کنید", 9 | url: "لطفا آدرس صحیح وارد کنید.", 10 | date: "لطفا یک تاریخ صحیح وارد کنید", 11 | dateFA: "لطفا یک تاریخ صحیح وارد کنید", 12 | dateISO: "لطفا تاریخ صحیح وارد کنید (ISO).", 13 | number: "لطفا عدد صحیح وارد کنید.", 14 | digits: "لطفا تنها رقم وارد کنید", 15 | creditcard: "لطفا کریدیت کارت صحیح وارد کنید.", 16 | equalTo: "لطفا مقدار برابری وارد کنید", 17 | extension: "لطفا مقداری وارد کنید که ", 18 | maxlength: $.validator.format( "لطفا بیشتر از {0} حرف وارد نکنید." ), 19 | minlength: $.validator.format( "لطفا کمتر از {0} حرف وارد نکنید." ), 20 | rangelength: $.validator.format( "لطفا مقداری بین {0} تا {1} حرف وارد کنید." ), 21 | range: $.validator.format( "لطفا مقداری بین {0} تا {1} حرف وارد کنید." ), 22 | max: $.validator.format( "لطفا مقداری کمتر از {0} وارد کنید." ), 23 | min: $.validator.format( "لطفا مقداری بیشتر از {0} وارد کنید." ), 24 | minWords: $.validator.format( "لطفا حداقل {0} کلمه وارد کنید." ), 25 | maxWords: $.validator.format( "لطفا حداکثر {0} کلمه وارد کنید." ) 26 | } ); 27 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_fi.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: FI (Finnish; suomi, suomen kieli) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Tämä kenttä on pakollinen.", 7 | email: "Syötä oikea sähköpostiosoite.", 8 | url: "Syötä oikea URL-osoite.", 9 | date: "Syötä oikea päivämäärä.", 10 | dateISO: "Syötä oikea päivämäärä muodossa VVVV-KK-PP.", 11 | number: "Syötä luku.", 12 | creditcard: "Syötä voimassa oleva luottokorttinumero.", 13 | digits: "Syötä pelkästään numeroita.", 14 | equalTo: "Syötä sama arvo uudestaan.", 15 | maxlength: $.validator.format( "Voit syöttää enintään {0} merkkiä." ), 16 | minlength: $.validator.format( "Vähintään {0} merkkiä." ), 17 | rangelength: $.validator.format( "Syötä vähintään {0} ja enintään {1} merkkiä." ), 18 | range: $.validator.format( "Syötä arvo väliltä {0}–{1}." ), 19 | max: $.validator.format( "Syötä arvo, joka on enintään {0}." ), 20 | min: $.validator.format( "Syötä arvo, joka on vähintään {0}." ) 21 | } ); 22 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_fr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: FR (French; français) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Ce champ est obligatoire.", 7 | remote: "Veuillez corriger ce champ.", 8 | email: "Veuillez fournir une adresse électronique valide.", 9 | url: "Veuillez fournir une adresse URL valide.", 10 | date: "Veuillez fournir une date valide.", 11 | dateISO: "Veuillez fournir une date valide (ISO).", 12 | number: "Veuillez fournir un numéro valide.", 13 | digits: "Veuillez fournir seulement des chiffres.", 14 | creditcard: "Veuillez fournir un numéro de carte de crédit valide.", 15 | equalTo: "Veuillez fournir encore la même valeur.", 16 | extension: "Veuillez fournir une valeur avec une extension valide.", 17 | maxlength: $.validator.format( "Veuillez fournir au plus {0} caractères." ), 18 | minlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ), 19 | rangelength: $.validator.format( "Veuillez fournir une valeur qui contient entre {0} et {1} caractères." ), 20 | range: $.validator.format( "Veuillez fournir une valeur entre {0} et {1}." ), 21 | max: $.validator.format( "Veuillez fournir une valeur inférieure ou égale à {0}." ), 22 | min: $.validator.format( "Veuillez fournir une valeur supérieure ou égale à {0}." ), 23 | maxWords: $.validator.format( "Veuillez fournir au plus {0} mots." ), 24 | minWords: $.validator.format( "Veuillez fournir au moins {0} mots." ), 25 | rangeWords: $.validator.format( "Veuillez fournir entre {0} et {1} mots." ), 26 | letterswithbasicpunc: "Veuillez fournir seulement des lettres et des signes de ponctuation.", 27 | alphanumeric: "Veuillez fournir seulement des lettres, nombres, espaces et soulignages.", 28 | lettersonly: "Veuillez fournir seulement des lettres.", 29 | nowhitespace: "Veuillez ne pas inscrire d'espaces blancs.", 30 | ziprange: "Veuillez fournir un code postal entre 902xx-xxxx et 905-xx-xxxx.", 31 | integer: "Veuillez fournir un nombre non décimal qui est positif ou négatif.", 32 | vinUS: "Veuillez fournir un numéro d'identification du véhicule (VIN).", 33 | dateITA: "Veuillez fournir une date valide.", 34 | time: "Veuillez fournir une heure valide entre 00:00 et 23:59.", 35 | phoneUS: "Veuillez fournir un numéro de téléphone valide.", 36 | phoneUK: "Veuillez fournir un numéro de téléphone valide.", 37 | mobileUK: "Veuillez fournir un numéro de téléphone mobile valide.", 38 | strippedminlength: $.validator.format( "Veuillez fournir au moins {0} caractères." ), 39 | email2: "Veuillez fournir une adresse électronique valide.", 40 | url2: "Veuillez fournir une adresse URL valide.", 41 | creditcardtypes: "Veuillez fournir un numéro de carte de crédit valide.", 42 | ipv4: "Veuillez fournir une adresse IP v4 valide.", 43 | ipv6: "Veuillez fournir une adresse IP v6 valide.", 44 | require_from_group: "Veuillez fournir au moins {0} de ces champs.", 45 | nifES: "Veuillez fournir un numéro NIF valide.", 46 | nieES: "Veuillez fournir un numéro NIE valide.", 47 | cifES: "Veuillez fournir un numéro CIF valide.", 48 | postalCodeCA: "Veuillez fournir un code postal valide." 49 | } ); 50 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_ge.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @author @tatocaster 3 | * Translated default messages for the jQuery validation plugin. 4 | * Locale: GE (Georgian; ქართული) 5 | */ 6 | $.extend( $.validator.messages, { 7 | required: "ეს ველი სავალდებულოა", 8 | remote: "გთხოვთ შეასწოროთ.", 9 | email: "გთხოვთ შეიყვანოთ სწორი ფორმატით.", 10 | url: "გთხოვთ შეიყვანოთ სწორი ფორმატით.", 11 | date: "გთხოვთ შეიყვანოთ სწორი თარიღი.", 12 | dateISO: "გთხოვთ შეიყვანოთ სწორი ფორმატით (ISO).", 13 | number: "გთხოვთ შეიყვანოთ რიცხვი.", 14 | digits: "დაშვებულია მხოლოდ ციფრები.", 15 | creditcard: "გთხოვთ შეიყვანოთ სწორი ფორმატის ბარათის კოდი.", 16 | equalTo: "გთხოვთ შეიყვანოთ იგივე მნიშვნელობა.", 17 | maxlength: $.validator.format( "გთხოვთ შეიყვანოთ არა უმეტეს {0} სიმბოლოსი." ), 18 | minlength: $.validator.format( "შეიყვანეთ მინიმუმ {0} სიმბოლო." ), 19 | rangelength: $.validator.format( "გთხოვთ შეიყვანოთ {0} -დან {1} -მდე რაოდენობის სიმბოლოები." ), 20 | range: $.validator.format( "შეიყვანეთ {0} -სა {1} -ს შორის." ), 21 | max: $.validator.format( "გთხოვთ შეიყვანოთ მნიშვნელობა ნაკლები ან ტოლი {0} -ს." ), 22 | min: $.validator.format( "გთხოვთ შეიყვანოთ მნიშვნელობა მეტი ან ტოლი {0} -ს." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_gl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: GL (Galician; Galego) 4 | */ 5 | ( function( $ ) { 6 | $.extend( $.validator.messages, { 7 | required: "Este campo é obrigatorio.", 8 | remote: "Por favor, cubre este campo.", 9 | email: "Por favor, escribe unha dirección de correo válida.", 10 | url: "Por favor, escribe unha URL válida.", 11 | date: "Por favor, escribe unha data válida.", 12 | dateISO: "Por favor, escribe unha data (ISO) válida.", 13 | number: "Por favor, escribe un número válido.", 14 | digits: "Por favor, escribe só díxitos.", 15 | creditcard: "Por favor, escribe un número de tarxeta válido.", 16 | equalTo: "Por favor, escribe o mesmo valor de novo.", 17 | extension: "Por favor, escribe un valor cunha extensión aceptada.", 18 | maxlength: $.validator.format( "Por favor, non escribas máis de {0} caracteres." ), 19 | minlength: $.validator.format( "Por favor, non escribas menos de {0} caracteres." ), 20 | rangelength: $.validator.format( "Por favor, escribe un valor entre {0} e {1} caracteres." ), 21 | range: $.validator.format( "Por favor, escribe un valor entre {0} e {1}." ), 22 | max: $.validator.format( "Por favor, escribe un valor menor ou igual a {0}." ), 23 | min: $.validator.format( "Por favor, escribe un valor maior ou igual a {0}." ), 24 | nifES: "Por favor, escribe un NIF válido.", 25 | nieES: "Por favor, escribe un NIE válido.", 26 | cifES: "Por favor, escribe un CIF válido." 27 | } ); 28 | }( jQuery ) ); 29 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_he.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: HE (Hebrew; עברית) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "השדה הזה הינו שדה חובה", 7 | remote: "נא לתקן שדה זה", 8 | email: "נא למלא כתובת דוא\"ל חוקית", 9 | url: "נא למלא כתובת אינטרנט חוקית", 10 | date: "נא למלא תאריך חוקי", 11 | dateISO: "נא למלא תאריך חוקי (ISO)", 12 | number: "נא למלא מספר", 13 | digits: "נא למלא רק מספרים", 14 | creditcard: "נא למלא מספר כרטיס אשראי חוקי", 15 | equalTo: "נא למלא את אותו ערך שוב", 16 | extension: "נא למלא ערך עם סיומת חוקית", 17 | maxlength: $.validator.format( ".נא לא למלא יותר מ- {0} תווים" ), 18 | minlength: $.validator.format( "נא למלא לפחות {0} תווים" ), 19 | rangelength: $.validator.format( "נא למלא ערך בין {0} ל- {1} תווים" ), 20 | range: $.validator.format( "נא למלא ערך בין {0} ל- {1}" ), 21 | max: $.validator.format( "נא למלא ערך קטן או שווה ל- {0}" ), 22 | min: $.validator.format( "נא למלא ערך גדול או שווה ל- {0}" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_hr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: HR (Croatia; hrvatski jezik) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Ovo polje je obavezno.", 7 | remote: "Ovo polje treba popraviti.", 8 | email: "Unesite ispravnu e-mail adresu.", 9 | url: "Unesite ispravan URL.", 10 | date: "Unesite ispravan datum.", 11 | dateISO: "Unesite ispravan datum (ISO).", 12 | number: "Unesite ispravan broj.", 13 | digits: "Unesite samo brojeve.", 14 | creditcard: "Unesite ispravan broj kreditne kartice.", 15 | equalTo: "Unesite ponovo istu vrijednost.", 16 | extension: "Unesite vrijednost sa ispravnom ekstenzijom.", 17 | maxlength: $.validator.format( "Maksimalni broj znakova je {0} ." ), 18 | minlength: $.validator.format( "Minimalni broj znakova je {0} ." ), 19 | rangelength: $.validator.format( "Unesite vrijednost između {0} i {1} znakova." ), 20 | range: $.validator.format( "Unesite vrijednost između {0} i {1}." ), 21 | max: $.validator.format( "Unesite vrijednost manju ili jednaku {0}." ), 22 | min: $.validator.format( "Unesite vrijednost veću ili jednaku {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_hu.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: HU (Hungarian; Magyar) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Kötelező megadni.", 7 | maxlength: $.validator.format( "Legfeljebb {0} karakter hosszú legyen." ), 8 | minlength: $.validator.format( "Legalább {0} karakter hosszú legyen." ), 9 | rangelength: $.validator.format( "Legalább {0} és legfeljebb {1} karakter hosszú legyen." ), 10 | email: "Érvényes e-mail címnek kell lennie.", 11 | url: "Érvényes URL-nek kell lennie.", 12 | date: "Dátumnak kell lennie.", 13 | number: "Számnak kell lennie.", 14 | digits: "Csak számjegyek lehetnek.", 15 | equalTo: "Meg kell egyeznie a két értéknek.", 16 | range: $.validator.format( "{0} és {1} közé kell esnie." ), 17 | max: $.validator.format( "Nem lehet nagyobb, mint {0}." ), 18 | min: $.validator.format( "Nem lehet kisebb, mint {0}." ), 19 | creditcard: "Érvényes hitelkártyaszámnak kell lennie.", 20 | remote: "Kérem javítsa ki ezt a mezőt.", 21 | dateISO: "Kérem írjon be egy érvényes dátumot (ISO)." 22 | } ); 23 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_hy_AM.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: HY_AM (Armenian; հայերեն լեզու) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Պարտադիր լրացման դաշտ", 7 | remote: "Ներմուծեք ճիշտ արժեքը", 8 | email: "Ներմուծեք վավեր էլեկտրոնային փոստի հասցե", 9 | url: "Ներմուծեք վավեր URL", 10 | date: "Ներմուծեք վավեր ամսաթիվ", 11 | dateISO: "Ներմուծեք ISO ֆորմատով վավեր ամսաթիվ։", 12 | number: "Ներմուծեք թիվ", 13 | digits: "Ներմուծեք միայն թվեր", 14 | creditcard: "Ներմուծեք ճիշտ բանկային քարտի համար", 15 | equalTo: "Ներմուծեք միևնուն արժեքը ևս մեկ անգամ", 16 | extension: "Ընտրեք ճիշտ ընդլանումով ֆայլ", 17 | maxlength: $.validator.format( "Ներմուծեք ոչ ավել քան {0} նիշ" ), 18 | minlength: $.validator.format( "Ներմուծեք ոչ պակաս քան {0} նիշ" ), 19 | rangelength: $.validator.format( "Ներմուծեք {0}֊ից {1} երկարությամբ արժեք" ), 20 | range: $.validator.format( "Ներմուծեք թիվ {0}֊ից {1} միջակայքում" ), 21 | max: $.validator.format( "Ներմուծեք թիվ, որը փոքր կամ հավասար է {0}֊ին" ), 22 | min: $.validator.format( "Ներմուծեք թիվ, որը մեծ կամ հավասար է {0}֊ին" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_id.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ID (Indonesia; Indonesian) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Kolom ini diperlukan.", 7 | remote: "Harap benarkan kolom ini.", 8 | email: "Silakan masukkan format email yang benar.", 9 | url: "Silakan masukkan format URL yang benar.", 10 | date: "Silakan masukkan format tanggal yang benar.", 11 | dateISO: "Silakan masukkan format tanggal(ISO) yang benar.", 12 | number: "Silakan masukkan angka yang benar.", 13 | digits: "Harap masukan angka saja.", 14 | creditcard: "Harap masukkan format kartu kredit yang benar.", 15 | equalTo: "Harap masukkan nilai yg sama dengan sebelumnya.", 16 | maxlength: $.validator.format( "Input dibatasi hanya {0} karakter." ), 17 | minlength: $.validator.format( "Input tidak kurang dari {0} karakter." ), 18 | rangelength: $.validator.format( "Panjang karakter yg diizinkan antara {0} dan {1} karakter." ), 19 | range: $.validator.format( "Harap masukkan nilai antara {0} dan {1}." ), 20 | max: $.validator.format( "Harap masukkan nilai lebih kecil atau sama dengan {0}." ), 21 | min: $.validator.format( "Harap masukkan nilai lebih besar atau sama dengan {0}." ) 22 | } ); 23 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_is.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: IS (Icelandic; íslenska) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Þessi reitur er nauðsynlegur.", 7 | remote: "Lagaðu þennan reit.", 8 | maxlength: $.validator.format( "Sláðu inn mest {0} stafi." ), 9 | minlength: $.validator.format( "Sláðu inn minnst {0} stafi." ), 10 | rangelength: $.validator.format( "Sláðu inn minnst {0} og mest {1} stafi." ), 11 | email: "Sláðu inn gilt netfang.", 12 | url: "Sláðu inn gilda vefslóð.", 13 | date: "Sláðu inn gilda dagsetningu.", 14 | number: "Sláðu inn tölu.", 15 | digits: "Sláðu inn tölustafi eingöngu.", 16 | equalTo: "Sláðu sama gildi inn aftur.", 17 | range: $.validator.format( "Sláðu inn gildi milli {0} og {1}." ), 18 | max: $.validator.format( "Sláðu inn gildi sem er minna en eða jafnt og {0}." ), 19 | min: $.validator.format( "Sláðu inn gildi sem er stærra en eða jafnt og {0}." ), 20 | creditcard: "Sláðu inn gilt greiðslukortanúmer." 21 | } ); 22 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_it.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: IT (Italian; Italiano) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Campo obbligatorio", 7 | remote: "Controlla questo campo", 8 | email: "Inserisci un indirizzo email valido", 9 | url: "Inserisci un indirizzo web valido", 10 | date: "Inserisci una data valida", 11 | dateISO: "Inserisci una data valida (ISO)", 12 | number: "Inserisci un numero valido", 13 | digits: "Inserisci solo numeri", 14 | creditcard: "Inserisci un numero di carta di credito valido", 15 | equalTo: "Il valore non corrisponde", 16 | extension: "Inserisci un valore con un'estensione valida", 17 | maxlength: $.validator.format( "Non inserire più di {0} caratteri" ), 18 | minlength: $.validator.format( "Inserisci almeno {0} caratteri" ), 19 | rangelength: $.validator.format( "Inserisci un valore compreso tra {0} e {1} caratteri" ), 20 | range: $.validator.format( "Inserisci un valore compreso tra {0} e {1}" ), 21 | max: $.validator.format( "Inserisci un valore minore o uguale a {0}" ), 22 | min: $.validator.format( "Inserisci un valore maggiore o uguale a {0}" ), 23 | nifES: "Inserisci un NIF valido", 24 | nieES: "Inserisci un NIE valido", 25 | cifES: "Inserisci un CIF valido", 26 | currency: "Inserisci una valuta valida" 27 | } ); 28 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_ja.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: JA (Japanese; 日本語) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "このフィールドは必須です。", 7 | remote: "このフィールドを修正してください。", 8 | email: "有効なEメールアドレスを入力してください。", 9 | url: "有効なURLを入力してください。", 10 | date: "有効な日付を入力してください。", 11 | dateISO: "有効な日付(ISO)を入力してください。", 12 | number: "有効な数字を入力してください。", 13 | digits: "数字のみを入力してください。", 14 | creditcard: "有効なクレジットカード番号を入力してください。", 15 | equalTo: "同じ値をもう一度入力してください。", 16 | extension: "有効な拡張子を含む値を入力してください。", 17 | maxlength: $.validator.format( "{0} 文字以内で入力してください。" ), 18 | minlength: $.validator.format( "{0} 文字以上で入力してください。" ), 19 | rangelength: $.validator.format( "{0} 文字から {1} 文字までの値を入力してください。" ), 20 | range: $.validator.format( "{0} から {1} までの値を入力してください。" ), 21 | max: $.validator.format( "{0} 以下の値を入力してください。" ), 22 | min: $.validator.format( "{0} 以上の値を入力してください。" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_ka.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: KA (Georgian; ქართული) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "ამ ველის შევსება აუცილებელია.", 7 | remote: "გთხოვთ მიუთითოთ სწორი მნიშვნელობა.", 8 | email: "გთხოვთ მიუთითოთ ელ-ფოსტის კორექტული მისამართი.", 9 | url: "გთხოვთ მიუთითოთ კორექტული URL.", 10 | date: "გთხოვთ მიუთითოთ კორექტული თარიღი.", 11 | dateISO: "გთხოვთ მიუთითოთ კორექტული თარიღი ISO ფორმატში.", 12 | number: "გთხოვთ მიუთითოთ ციფრი.", 13 | digits: "გთხოვთ მიუთითოთ მხოლოდ ციფრები.", 14 | creditcard: "გთხოვთ მიუთითოთ საკრედიტო ბარათის კორექტული ნომერი.", 15 | equalTo: "გთხოვთ მიუთითოთ ასეთივე მნიშვნელობა კიდევ ერთხელ.", 16 | extension: "გთხოვთ აირჩიოთ ფაილი კორექტული გაფართოებით.", 17 | maxlength: $.validator.format( "დასაშვებია არაუმეტეს {0} სიმბოლო." ), 18 | minlength: $.validator.format( "აუცილებელია შეიყვანოთ მინიმუმ {0} სიმბოლო." ), 19 | rangelength: $.validator.format( "ტექსტში სიმბოლოების რაოდენობა უნდა იყოს {0}-დან {1}-მდე." ), 20 | range: $.validator.format( "გთხოვთ შეიყვანოთ ციფრი {0}-დან {1}-მდე." ), 21 | max: $.validator.format( "გთხოვთ შეიყვანოთ ციფრი რომელიც ნაკლებია ან უდრის {0}-ს." ), 22 | min: $.validator.format( "გთხოვთ შეიყვანოთ ციფრი რომელიც მეტია ან უდრის {0}-ს." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_kk.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: KK (Kazakh; қазақ тілі) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Бұл өрісті міндетті түрде толтырыңыз.", 7 | remote: "Дұрыс мағына енгізуіңізді сұраймыз.", 8 | email: "Нақты электронды поштаңызды енгізуіңізді сұраймыз.", 9 | url: "Нақты URL-ды енгізуіңізді сұраймыз.", 10 | date: "Нақты URL-ды енгізуіңізді сұраймыз.", 11 | dateISO: "Нақты ISO форматымен сәйкес датасын енгізуіңізді сұраймыз.", 12 | number: "Күнді енгізуіңізді сұраймыз.", 13 | digits: "Тек қана сандарды енгізуіңізді сұраймыз.", 14 | creditcard: "Несие картасының нөмірін дұрыс енгізуіңізді сұраймыз.", 15 | equalTo: "Осы мәнді қайта енгізуіңізді сұраймыз.", 16 | extension: "Файлдың кеңейтуін дұрыс таңдаңыз.", 17 | maxlength: $.validator.format( "Ұзындығы {0} символдан көр болмасын." ), 18 | minlength: $.validator.format( "Ұзындығы {0} символдан аз болмасын." ), 19 | rangelength: $.validator.format( "Ұзындығы {0}-{1} дейін мән енгізуіңізді сұраймыз." ), 20 | range: $.validator.format( "Пожалуйста, введите число от {0} до {1}. - {0} - {1} санын енгізуіңізді сұраймыз." ), 21 | max: $.validator.format( "{0} аз немесе тең санын енгізуіңіді сұраймыз." ), 22 | min: $.validator.format( "{0} көп немесе тең санын енгізуіңізді сұраймыз." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_ko.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: KO (Korean; 한국어) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "필수 항목입니다.", 7 | remote: "항목을 수정하세요.", 8 | email: "유효하지 않은 E-Mail주소입니다.", 9 | url: "유효하지 않은 URL입니다.", 10 | date: "올바른 날짜를 입력하세요.", 11 | dateISO: "올바른 날짜(ISO)를 입력하세요.", 12 | number: "유효한 숫자가 아닙니다.", 13 | digits: "숫자만 입력 가능합니다.", 14 | creditcard: "신용카드 번호가 바르지 않습니다.", 15 | equalTo: "같은 값을 다시 입력하세요.", 16 | extension: "올바른 확장자가 아닙니다.", 17 | maxlength: $.validator.format( "{0}자를 넘을 수 없습니다. " ), 18 | minlength: $.validator.format( "{0}자 이상 입력하세요." ), 19 | rangelength: $.validator.format( "문자 길이가 {0} 에서 {1} 사이의 값을 입력하세요." ), 20 | range: $.validator.format( "{0} 에서 {1} 사이의 값을 입력하세요." ), 21 | max: $.validator.format( "{0} 이하의 값을 입력하세요." ), 22 | min: $.validator.format( "{0} 이상의 값을 입력하세요." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_lt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: LT (Lithuanian; lietuvių kalba) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Šis laukas yra privalomas.", 7 | remote: "Prašau pataisyti šį lauką.", 8 | email: "Prašau įvesti teisingą elektroninio pašto adresą.", 9 | url: "Prašau įvesti teisingą URL.", 10 | date: "Prašau įvesti teisingą datą.", 11 | dateISO: "Prašau įvesti teisingą datą (ISO).", 12 | number: "Prašau įvesti teisingą skaičių.", 13 | digits: "Prašau naudoti tik skaitmenis.", 14 | creditcard: "Prašau įvesti teisingą kreditinės kortelės numerį.", 15 | equalTo: "Prašau įvestį tą pačią reikšmę dar kartą.", 16 | extension: "Prašau įvesti reikšmę su teisingu plėtiniu.", 17 | maxlength: $.validator.format( "Prašau įvesti ne daugiau kaip {0} simbolių." ), 18 | minlength: $.validator.format( "Prašau įvesti bent {0} simbolius." ), 19 | rangelength: $.validator.format( "Prašau įvesti reikšmes, kurių ilgis nuo {0} iki {1} simbolių." ), 20 | range: $.validator.format( "Prašau įvesti reikšmę intervale nuo {0} iki {1}." ), 21 | max: $.validator.format( "Prašau įvesti reikšmę mažesnę arba lygią {0}." ), 22 | min: $.validator.format( "Prašau įvesti reikšmę didesnę arba lygią {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_lv.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: LV (Latvian; latviešu valoda) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Šis lauks ir obligāts.", 7 | remote: "Lūdzu, pārbaudiet šo lauku.", 8 | email: "Lūdzu, ievadiet derīgu e-pasta adresi.", 9 | url: "Lūdzu, ievadiet derīgu URL adresi.", 10 | date: "Lūdzu, ievadiet derīgu datumu.", 11 | dateISO: "Lūdzu, ievadiet derīgu datumu (ISO).", 12 | number: "Lūdzu, ievadiet derīgu numuru.", 13 | digits: "Lūdzu, ievadiet tikai ciparus.", 14 | creditcard: "Lūdzu, ievadiet derīgu kredītkartes numuru.", 15 | equalTo: "Lūdzu, ievadiet to pašu vēlreiz.", 16 | extension: "Lūdzu, ievadiet vērtību ar derīgu paplašinājumu.", 17 | maxlength: $.validator.format( "Lūdzu, ievadiet ne vairāk kā {0} rakstzīmes." ), 18 | minlength: $.validator.format( "Lūdzu, ievadiet vismaz {0} rakstzīmes." ), 19 | rangelength: $.validator.format( "Lūdzu ievadiet {0} līdz {1} rakstzīmes." ), 20 | range: $.validator.format( "Lūdzu, ievadiet skaitli no {0} līdz {1}." ), 21 | max: $.validator.format( "Lūdzu, ievadiet skaitli, kurš ir mazāks vai vienāds ar {0}." ), 22 | min: $.validator.format( "Lūdzu, ievadiet skaitli, kurš ir lielāks vai vienāds ar {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_mk.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: MK (Macedonian; македонски јазик) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Полето е задолжително.", 7 | remote: "Поправете го ова поле", 8 | email: "Внесете правилна e-mail адреса", 9 | url: "Внесете правилен URL.", 10 | date: "Внесете правилен датум", 11 | dateISO: "Внесете правилен датум (ISO).", 12 | number: "Внесете правилен број.", 13 | digits: "Внесете само бројки.", 14 | creditcard: "Внесете правилен број на кредитната картичка.", 15 | equalTo: "Внесете ја истата вредност повторно.", 16 | extension: "Внесете вредност со соодветна екстензија.", 17 | maxlength: $.validator.format( "Внесете максимално {0} знаци." ), 18 | minlength: $.validator.format( "Внесете барем {0} знаци." ), 19 | rangelength: $.validator.format( "Внесете вредност со должина помеѓу {0} и {1} знаци." ), 20 | range: $.validator.format( "Внесете вредност помеѓу {0} и {1}." ), 21 | max: $.validator.format( "Внесете вредност помала или еднаква на {0}." ), 22 | min: $.validator.format( "Внесете вредност поголема или еднаква на {0}" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_my.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: MY (Malay; Melayu) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Medan ini diperlukan.", 7 | remote: "Sila betulkan medan ini.", 8 | email: "Sila masukkan alamat emel yang betul.", 9 | url: "Sila masukkan URL yang betul.", 10 | date: "Sila masukkan tarikh yang betul.", 11 | dateISO: "Sila masukkan tarikh(ISO) yang betul.", 12 | number: "Sila masukkan nombor yang betul.", 13 | digits: "Sila masukkan nilai digit sahaja.", 14 | creditcard: "Sila masukkan nombor kredit kad yang betul.", 15 | equalTo: "Sila masukkan nilai yang sama semula.", 16 | extension: "Sila masukkan nilai yang telah diterima.", 17 | maxlength: $.validator.format( "Sila masukkan tidak lebih dari {0} aksara." ), 18 | minlength: $.validator.format( "Sila masukkan sekurang-kurangnya {0} aksara." ), 19 | rangelength: $.validator.format( "Sila masukkan antara {0} dan {1} panjang aksara." ), 20 | range: $.validator.format( "Sila masukkan nilai antara {0} dan {1} aksara." ), 21 | max: $.validator.format( "Sila masukkan nilai yang kurang atau sama dengan {0}." ), 22 | min: $.validator.format( "Sila masukkan nilai yang lebih atau sama dengan {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_nl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: NL (Dutch; Nederlands, Vlaams) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Dit is een verplicht veld.", 7 | remote: "Controleer dit veld.", 8 | email: "Vul hier een geldig e-mailadres in.", 9 | url: "Vul hier een geldige URL in.", 10 | date: "Vul hier een geldige datum in.", 11 | dateISO: "Vul hier een geldige datum in (ISO-formaat).", 12 | number: "Vul hier een geldig getal in.", 13 | digits: "Vul hier alleen getallen in.", 14 | creditcard: "Vul hier een geldig creditcardnummer in.", 15 | equalTo: "Vul hier dezelfde waarde in.", 16 | extension: "Vul hier een waarde in met een geldige extensie.", 17 | maxlength: $.validator.format( "Vul hier maximaal {0} tekens in." ), 18 | minlength: $.validator.format( "Vul hier minimaal {0} tekens in." ), 19 | rangelength: $.validator.format( "Vul hier een waarde in van minimaal {0} en maximaal {1} tekens." ), 20 | range: $.validator.format( "Vul hier een waarde in van minimaal {0} en maximaal {1}." ), 21 | max: $.validator.format( "Vul hier een waarde in kleiner dan of gelijk aan {0}." ), 22 | min: $.validator.format( "Vul hier een waarde in groter dan of gelijk aan {0}." ), 23 | 24 | // For validations in additional-methods.js 25 | iban: "Vul hier een geldig IBAN in.", 26 | dateNL: "Vul hier een geldige datum in.", 27 | phoneNL: "Vul hier een geldig Nederlands telefoonnummer in.", 28 | mobileNL: "Vul hier een geldig Nederlands mobiel telefoonnummer in.", 29 | postalcodeNL: "Vul hier een geldige postcode in.", 30 | bankaccountNL: "Vul hier een geldig bankrekeningnummer in.", 31 | giroaccountNL: "Vul hier een geldig gironummer in.", 32 | bankorgiroaccountNL: "Vul hier een geldig bank- of gironummer in." 33 | } ); 34 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_no.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: NO (Norwegian; Norsk) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Dette feltet er obligatorisk.", 7 | maxlength: $.validator.format( "Maksimalt {0} tegn." ), 8 | minlength: $.validator.format( "Minimum {0} tegn." ), 9 | rangelength: $.validator.format( "Angi minimum {0} og maksimum {1} tegn." ), 10 | email: "Oppgi en gyldig epostadresse.", 11 | url: "Angi en gyldig URL.", 12 | date: "Angi en gyldig dato.", 13 | dateISO: "Angi en gyldig dato (&ARING;&ARING;&ARING;&ARING;-MM-DD).", 14 | dateSE: "Angi en gyldig dato.", 15 | number: "Angi et gyldig nummer.", 16 | numberSE: "Angi et gyldig nummer.", 17 | digits: "Skriv kun tall.", 18 | equalTo: "Skriv samme verdi igjen.", 19 | range: $.validator.format( "Angi en verdi mellom {0} og {1}." ), 20 | max: $.validator.format( "Angi en verdi som er mindre eller lik {0}." ), 21 | min: $.validator.format( "Angi en verdi som er større eller lik {0}." ), 22 | creditcard: "Angi et gyldig kredittkortnummer." 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_pl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: PL (Polish; język polski, polszczyzna) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "To pole jest wymagane.", 7 | remote: "Proszę o wypełnienie tego pola.", 8 | email: "Proszę o podanie prawidłowego adresu email.", 9 | url: "Proszę o podanie prawidłowego URL.", 10 | date: "Proszę o podanie prawidłowej daty.", 11 | dateISO: "Proszę o podanie prawidłowej daty (ISO).", 12 | number: "Proszę o podanie prawidłowej liczby.", 13 | digits: "Proszę o podanie samych cyfr.", 14 | creditcard: "Proszę o podanie prawidłowej karty kredytowej.", 15 | equalTo: "Proszę o podanie tej samej wartości ponownie.", 16 | extension: "Proszę o podanie wartości z prawidłowym rozszerzeniem.", 17 | maxlength: $.validator.format( "Proszę o podanie nie więcej niż {0} znaków." ), 18 | minlength: $.validator.format( "Proszę o podanie przynajmniej {0} znaków." ), 19 | rangelength: $.validator.format( "Proszę o podanie wartości o długości od {0} do {1} znaków." ), 20 | range: $.validator.format( "Proszę o podanie wartości z przedziału od {0} do {1}." ), 21 | max: $.validator.format( "Proszę o podanie wartości mniejszej bądź równej {0}." ), 22 | min: $.validator.format( "Proszę o podanie wartości większej bądź równej {0}." ), 23 | pattern: $.validator.format( "Pole zawiera niedozwolone znaki." ) 24 | } ); 25 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_pt_PT.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: PT (Portuguese; português) 4 | * Region: PT (Portugal) 5 | */ 6 | $.extend( $.validator.messages, { 7 | required: "Campo de preenchimento obrigatório.", 8 | remote: "Por favor, corrija este campo.", 9 | email: "Por favor, introduza um endereço eletrónico válido.", 10 | url: "Por favor, introduza um URL válido.", 11 | date: "Por favor, introduza uma data válida.", 12 | dateISO: "Por favor, introduza uma data válida (ISO).", 13 | number: "Por favor, introduza um número válido.", 14 | digits: "Por favor, introduza apenas dígitos.", 15 | creditcard: "Por favor, introduza um número de cartão de crédito válido.", 16 | equalTo: "Por favor, introduza de novo o mesmo valor.", 17 | extension: "Por favor, introduza um ficheiro com uma extensão válida.", 18 | maxlength: $.validator.format( "Por favor, não introduza mais do que {0} caracteres." ), 19 | minlength: $.validator.format( "Por favor, introduza pelo menos {0} caracteres." ), 20 | rangelength: $.validator.format( "Por favor, introduza entre {0} e {1} caracteres." ), 21 | range: $.validator.format( "Por favor, introduza um valor entre {0} e {1}." ), 22 | max: $.validator.format( "Por favor, introduza um valor menor ou igual a {0}." ), 23 | min: $.validator.format( "Por favor, introduza um valor maior ou igual a {0}." ), 24 | nifES: "Por favor, introduza um NIF válido.", 25 | nieES: "Por favor, introduza um NIE válido.", 26 | cifES: "Por favor, introduza um CIF válido." 27 | } ); 28 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_ro.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: RO (Romanian, limba română) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Acest câmp este obligatoriu.", 7 | remote: "Te rugăm să completezi acest câmp.", 8 | email: "Te rugăm să introduci o adresă de email validă", 9 | url: "Te rugăm sa introduci o adresă URL validă.", 10 | date: "Te rugăm să introduci o dată corectă.", 11 | dateISO: "Te rugăm să introduci o dată (ISO) corectă.", 12 | number: "Te rugăm să introduci un număr întreg valid.", 13 | digits: "Te rugăm să introduci doar cifre.", 14 | creditcard: "Te rugăm să introduci un numar de carte de credit valid.", 15 | equalTo: "Te rugăm să reintroduci valoarea.", 16 | extension: "Te rugăm să introduci o valoare cu o extensie validă.", 17 | maxlength: $.validator.format( "Te rugăm să nu introduci mai mult de {0} caractere." ), 18 | minlength: $.validator.format( "Te rugăm să introduci cel puțin {0} caractere." ), 19 | rangelength: $.validator.format( "Te rugăm să introduci o valoare între {0} și {1} caractere." ), 20 | range: $.validator.format( "Te rugăm să introduci o valoare între {0} și {1}." ), 21 | max: $.validator.format( "Te rugăm să introduci o valoare egal sau mai mică decât {0}." ), 22 | min: $.validator.format( "Te rugăm să introduci o valoare egal sau mai mare decât {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_ru.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: RU (Russian; русский язык) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Это поле необходимо заполнить.", 7 | remote: "Пожалуйста, введите правильное значение.", 8 | email: "Пожалуйста, введите корректный адрес электронной почты.", 9 | url: "Пожалуйста, введите корректный URL.", 10 | date: "Пожалуйста, введите корректную дату.", 11 | dateISO: "Пожалуйста, введите корректную дату в формате ISO.", 12 | number: "Пожалуйста, введите число.", 13 | digits: "Пожалуйста, вводите только цифры.", 14 | creditcard: "Пожалуйста, введите правильный номер кредитной карты.", 15 | equalTo: "Пожалуйста, введите такое же значение ещё раз.", 16 | extension: "Пожалуйста, выберите файл с правильным расширением.", 17 | maxlength: $.validator.format( "Пожалуйста, введите не больше {0} символов." ), 18 | minlength: $.validator.format( "Пожалуйста, введите не меньше {0} символов." ), 19 | rangelength: $.validator.format( "Пожалуйста, введите значение длиной от {0} до {1} символов." ), 20 | range: $.validator.format( "Пожалуйста, введите число от {0} до {1}." ), 21 | max: $.validator.format( "Пожалуйста, введите число, меньшее или равное {0}." ), 22 | min: $.validator.format( "Пожалуйста, введите число, большее или равное {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_si.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SI (Slovenian) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "To polje je obvezno.", 7 | remote: "Vpis v tem polju ni v pravi obliki.", 8 | email: "Prosimo, vnesite pravi email naslov.", 9 | url: "Prosimo, vnesite pravi URL.", 10 | date: "Prosimo, vnesite pravi datum.", 11 | dateISO: "Prosimo, vnesite pravi datum (ISO).", 12 | number: "Prosimo, vnesite pravo številko.", 13 | digits: "Prosimo, vnesite samo številke.", 14 | creditcard: "Prosimo, vnesite pravo številko kreditne kartice.", 15 | equalTo: "Prosimo, ponovno vnesite enako vsebino.", 16 | extension: "Prosimo, vnesite vsebino z pravo končnico.", 17 | maxlength: $.validator.format( "Prosimo, da ne vnašate več kot {0} znakov." ), 18 | minlength: $.validator.format( "Prosimo, vnesite vsaj {0} znakov." ), 19 | rangelength: $.validator.format( "Prosimo, vnesite od {0} do {1} znakov." ), 20 | range: $.validator.format( "Prosimo, vnesite vrednost med {0} in {1}." ), 21 | max: $.validator.format( "Prosimo, vnesite vrednost manjšo ali enako {0}." ), 22 | min: $.validator.format( "Prosimo, vnesite vrednost večjo ali enako {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_sk.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SK (Slovak; slovenčina, slovenský jazyk) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Povinné zadať.", 7 | maxlength: $.validator.format( "Maximálne {0} znakov." ), 8 | minlength: $.validator.format( "Minimálne {0} znakov." ), 9 | rangelength: $.validator.format( "Minimálne {0} a maximálne {1} znakov." ), 10 | email: "E-mailová adresa musí byť platná.", 11 | url: "URL musí byť platná.", 12 | date: "Musí byť dátum.", 13 | number: "Musí byť číslo.", 14 | digits: "Môže obsahovať iba číslice.", 15 | equalTo: "Dve hodnoty sa musia rovnať.", 16 | range: $.validator.format( "Musí byť medzi {0} a {1}." ), 17 | max: $.validator.format( "Nemôže byť viac ako {0}." ), 18 | min: $.validator.format( "Nemôže byť menej ako {0}." ), 19 | creditcard: "Číslo platobnej karty musí byť platné." 20 | } ); 21 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_sl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Language: SL (Slovenian; slovenski jezik) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "To polje je obvezno.", 7 | remote: "Prosimo popravite to polje.", 8 | email: "Prosimo vnesite veljaven email naslov.", 9 | url: "Prosimo vnesite veljaven URL naslov.", 10 | date: "Prosimo vnesite veljaven datum.", 11 | dateISO: "Prosimo vnesite veljaven ISO datum.", 12 | number: "Prosimo vnesite veljavno število.", 13 | digits: "Prosimo vnesite samo števila.", 14 | creditcard: "Prosimo vnesite veljavno številko kreditne kartice.", 15 | equalTo: "Prosimo ponovno vnesite vrednost.", 16 | extension: "Prosimo vnesite vrednost z veljavno končnico.", 17 | maxlength: $.validator.format( "Prosimo vnesite največ {0} znakov." ), 18 | minlength: $.validator.format( "Prosimo vnesite najmanj {0} znakov." ), 19 | rangelength: $.validator.format( "Prosimo vnesite najmanj {0} in največ {1} znakov." ), 20 | range: $.validator.format( "Prosimo vnesite vrednost med {0} in {1}." ), 21 | max: $.validator.format( "Prosimo vnesite vrednost manjše ali enako {0}." ), 22 | min: $.validator.format( "Prosimo vnesite vrednost večje ali enako {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_sr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SR (Serbian; српски језик) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Поље је обавезно.", 7 | remote: "Средите ово поље.", 8 | email: "Унесите исправну и-мејл адресу.", 9 | url: "Унесите исправан URL.", 10 | date: "Унесите исправан датум.", 11 | dateISO: "Унесите исправан датум (ISO).", 12 | number: "Унесите исправан број.", 13 | digits: "Унесите само цифе.", 14 | creditcard: "Унесите исправан број кредитне картице.", 15 | equalTo: "Унесите исту вредност поново.", 16 | extension: "Унесите вредност са одговарајућом екстензијом.", 17 | maxlength: $.validator.format( "Унесите мање од {0} карактера." ), 18 | minlength: $.validator.format( "Унесите барем {0} карактера." ), 19 | rangelength: $.validator.format( "Унесите вредност дугачку између {0} и {1} карактера." ), 20 | range: $.validator.format( "Унесите вредност између {0} и {1}." ), 21 | max: $.validator.format( "Унесите вредност мању или једнаку {0}." ), 22 | min: $.validator.format( "Унесите вредност већу или једнаку {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_sr_lat.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SR (Serbian - Latin alphabet; srpski jezik - latinica) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Polje je obavezno.", 7 | remote: "Sredite ovo polje.", 8 | email: "Unesite ispravnu e-mail adresu", 9 | url: "Unesite ispravan URL.", 10 | date: "Unesite ispravan datum.", 11 | dateISO: "Unesite ispravan datum (ISO).", 12 | number: "Unesite ispravan broj.", 13 | digits: "Unesite samo cifre.", 14 | creditcard: "Unesite ispravan broj kreditne kartice.", 15 | equalTo: "Unesite istu vrednost ponovo.", 16 | extension: "Unesite vrednost sa odgovarajućom ekstenzijom.", 17 | maxlength: $.validator.format( "Unesite manje od {0} karaktera." ), 18 | minlength: $.validator.format( "Unesite barem {0} karaktera." ), 19 | rangelength: $.validator.format( "Unesite vrednost dugačku između {0} i {1} karaktera." ), 20 | range: $.validator.format( "Unesite vrednost između {0} i {1}." ), 21 | max: $.validator.format( "Unesite vrednost manju ili jednaku {0}." ), 22 | min: $.validator.format( "Unesite vrednost veću ili jednaku {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_sv.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: SV (Swedish; Svenska) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Detta fält är obligatoriskt.", 7 | maxlength: $.validator.format( "Du får ange högst {0} tecken." ), 8 | minlength: $.validator.format( "Du måste ange minst {0} tecken." ), 9 | rangelength: $.validator.format( "Ange minst {0} och max {1} tecken." ), 10 | email: "Ange en korrekt e-postadress.", 11 | url: "Ange en korrekt URL.", 12 | date: "Ange ett korrekt datum.", 13 | dateISO: "Ange ett korrekt datum (ÅÅÅÅ-MM-DD).", 14 | number: "Ange ett korrekt nummer.", 15 | digits: "Ange endast siffror.", 16 | equalTo: "Ange samma värde igen.", 17 | range: $.validator.format( "Ange ett värde mellan {0} och {1}." ), 18 | max: $.validator.format( "Ange ett värde som är mindre eller lika med {0}." ), 19 | min: $.validator.format( "Ange ett värde som är större eller lika med {0}." ), 20 | creditcard: "Ange ett korrekt kreditkortsnummer." 21 | } ); 22 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_th.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: TH (Thai; ไทย) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "โปรดระบุ", 7 | remote: "โปรดแก้ไขให้ถูกต้อง", 8 | email: "โปรดระบุที่อยู่อีเมล์ที่ถูกต้อง", 9 | url: "โปรดระบุ URL ที่ถูกต้อง", 10 | date: "โปรดระบุวันที่ ที่ถูกต้อง", 11 | dateISO: "โปรดระบุวันที่ ที่ถูกต้อง (ระบบ ISO).", 12 | number: "โปรดระบุทศนิยมที่ถูกต้อง", 13 | digits: "โปรดระบุจำนวนเต็มที่ถูกต้อง", 14 | creditcard: "โปรดระบุรหัสบัตรเครดิตที่ถูกต้อง", 15 | equalTo: "โปรดระบุค่าเดิมอีกครั้ง", 16 | extension: "โปรดระบุค่าที่มีส่วนขยายที่ถูกต้อง", 17 | maxlength: $.validator.format( "โปรดอย่าระบุค่าที่ยาวกว่า {0} อักขระ" ), 18 | minlength: $.validator.format( "โปรดอย่าระบุค่าที่สั้นกว่า {0} อักขระ" ), 19 | rangelength: $.validator.format( "โปรดอย่าระบุค่าความยาวระหว่าง {0} ถึง {1} อักขระ" ), 20 | range: $.validator.format( "โปรดระบุค่าระหว่าง {0} และ {1}" ), 21 | max: $.validator.format( "โปรดระบุค่าน้อยกว่าหรือเท่ากับ {0}" ), 22 | min: $.validator.format( "โปรดระบุค่ามากกว่าหรือเท่ากับ {0}" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_tj.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: TJ (Tajikistan; Забони тоҷикӣ) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Ворид кардани ин филд маҷбури аст.", 7 | remote: "Илтимос, маълумоти саҳеҳ ворид кунед.", 8 | email: "Илтимос, почтаи электронии саҳеҳ ворид кунед.", 9 | url: "Илтимос, URL адреси саҳеҳ ворид кунед.", 10 | date: "Илтимос, таърихи саҳеҳ ворид кунед.", 11 | dateISO: "Илтимос, таърихи саҳеҳи (ISO)ӣ ворид кунед.", 12 | number: "Илтимос, рақамҳои саҳеҳ ворид кунед.", 13 | digits: "Илтимос, танҳо рақам ворид кунед.", 14 | creditcard: "Илтимос, кредит карди саҳеҳ ворид кунед.", 15 | equalTo: "Илтимос, миқдори баробар ворид кунед.", 16 | extension: "Илтимос, қофияи файлро дуруст интихоб кунед", 17 | maxlength: $.validator.format( "Илтимос, бештар аз {0} рамз ворид накунед." ), 18 | minlength: $.validator.format( "Илтимос, камтар аз {0} рамз ворид накунед." ), 19 | rangelength: $.validator.format( "Илтимос, камтар аз {0} ва зиёда аз {1} рамз ворид кунед." ), 20 | range: $.validator.format( "Илтимос, аз {0} то {1} рақам зиёд ворид кунед." ), 21 | max: $.validator.format( "Илтимос, бештар аз {0} рақам ворид накунед." ), 22 | min: $.validator.format( "Илтимос, камтар аз {0} рақам ворид накунед." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_tr.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: TR (Turkish; Türkçe) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Bu alanın doldurulması zorunludur.", 7 | remote: "Lütfen bu alanı düzeltin.", 8 | email: "Lütfen geçerli bir e-posta adresi giriniz.", 9 | url: "Lütfen geçerli bir web adresi (URL) giriniz.", 10 | date: "Lütfen geçerli bir tarih giriniz.", 11 | dateISO: "Lütfen geçerli bir tarih giriniz(ISO formatında)", 12 | number: "Lütfen geçerli bir sayı giriniz.", 13 | digits: "Lütfen sadece sayısal karakterler giriniz.", 14 | creditcard: "Lütfen geçerli bir kredi kartı giriniz.", 15 | equalTo: "Lütfen aynı değeri tekrar giriniz.", 16 | extension: "Lütfen geçerli uzantıya sahip bir değer giriniz.", 17 | maxlength: $.validator.format( "Lütfen en fazla {0} karakter uzunluğunda bir değer giriniz." ), 18 | minlength: $.validator.format( "Lütfen en az {0} karakter uzunluğunda bir değer giriniz." ), 19 | rangelength: $.validator.format( "Lütfen en az {0} ve en fazla {1} uzunluğunda bir değer giriniz." ), 20 | range: $.validator.format( "Lütfen {0} ile {1} arasında bir değer giriniz." ), 21 | max: $.validator.format( "Lütfen {0} değerine eşit ya da daha küçük bir değer giriniz." ), 22 | min: $.validator.format( "Lütfen {0} değerine eşit ya da daha büyük bir değer giriniz." ), 23 | require_from_group: "Lütfen bu alanların en az {0} tanesini doldurunuz." 24 | } ); 25 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_uk.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: UK (Ukrainian; українська мова) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Це поле необхідно заповнити.", 7 | remote: "Будь ласка, введіть правильне значення.", 8 | email: "Будь ласка, введіть коректну адресу електронної пошти.", 9 | url: "Будь ласка, введіть коректний URL.", 10 | date: "Будь ласка, введіть коректну дату.", 11 | dateISO: "Будь ласка, введіть коректну дату у форматі ISO.", 12 | number: "Будь ласка, введіть число.", 13 | digits: "Вводите потрібно лише цифри.", 14 | creditcard: "Будь ласка, введіть правильний номер кредитної карти.", 15 | equalTo: "Будь ласка, введіть таке ж значення ще раз.", 16 | extension: "Будь ласка, виберіть файл з правильним розширенням.", 17 | maxlength: $.validator.format( "Будь ласка, введіть не більше {0} символів." ), 18 | minlength: $.validator.format( "Будь ласка, введіть не менше {0} символів." ), 19 | rangelength: $.validator.format( "Будь ласка, введіть значення довжиною від {0} до {1} символів." ), 20 | range: $.validator.format( "Будь ласка, введіть число від {0} до {1}." ), 21 | max: $.validator.format( "Будь ласка, введіть число, менше або рівно {0}." ), 22 | min: $.validator.format( "Будь ласка, введіть число, більше або рівно {0}." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_vi.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: VI (Vietnamese; Tiếng Việt) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "Hãy nhập.", 7 | remote: "Hãy sửa cho đúng.", 8 | email: "Hãy nhập email.", 9 | url: "Hãy nhập URL.", 10 | date: "Hãy nhập ngày.", 11 | dateISO: "Hãy nhập ngày (ISO).", 12 | number: "Hãy nhập số.", 13 | digits: "Hãy nhập chữ số.", 14 | creditcard: "Hãy nhập số thẻ tín dụng.", 15 | equalTo: "Hãy nhập thêm lần nữa.", 16 | extension: "Phần mở rộng không đúng.", 17 | maxlength: $.validator.format( "Hãy nhập từ {0} kí tự trở xuống." ), 18 | minlength: $.validator.format( "Hãy nhập từ {0} kí tự trở lên." ), 19 | rangelength: $.validator.format( "Hãy nhập từ {0} đến {1} kí tự." ), 20 | range: $.validator.format( "Hãy nhập từ {0} đến {1}." ), 21 | max: $.validator.format( "Hãy nhập từ {0} trở xuống." ), 22 | min: $.validator.format( "Hãy nhập từ {1} trở lên." ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_zh.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ZH (Chinese, 中文 (Zhōngwén), 汉语, 漢語) 4 | */ 5 | $.extend( $.validator.messages, { 6 | required: "这是必填字段", 7 | remote: "请修正此字段", 8 | email: "请输入有效的电子邮件地址", 9 | url: "请输入有效的网址", 10 | date: "请输入有效的日期", 11 | dateISO: "请输入有效的日期 (YYYY-MM-DD)", 12 | number: "请输入有效的数字", 13 | digits: "只能输入数字", 14 | creditcard: "请输入有效的信用卡号码", 15 | equalTo: "你的输入不相同", 16 | extension: "请输入有效的后缀", 17 | maxlength: $.validator.format( "最多可以输入 {0} 个字符" ), 18 | minlength: $.validator.format( "最少要输入 {0} 个字符" ), 19 | rangelength: $.validator.format( "请输入长度在 {0} 到 {1} 之间的字符串" ), 20 | range: $.validator.format( "请输入范围在 {0} 到 {1} 之间的数值" ), 21 | max: $.validator.format( "请输入不大于 {0} 的数值" ), 22 | min: $.validator.format( "请输入不小于 {0} 的数值" ) 23 | } ); 24 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/messages_zh_TW.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Translated default messages for the jQuery validation plugin. 3 | * Locale: ZH (Chinese; 中文 (Zhōngwén), 汉语, 漢語) 4 | * Region: TW (Taiwan) 5 | */ 6 | $.extend( $.validator.messages, { 7 | required: "必須填寫", 8 | remote: "請修正此欄位", 9 | email: "請輸入有效的電子郵件", 10 | url: "請輸入有效的網址", 11 | date: "請輸入有效的日期", 12 | dateISO: "請輸入有效的日期 (YYYY-MM-DD)", 13 | number: "請輸入正確的數值", 14 | digits: "只可輸入數字", 15 | creditcard: "請輸入有效的信用卡號碼", 16 | equalTo: "請重複輸入一次", 17 | extension: "請輸入有效的後綴", 18 | maxlength: $.validator.format( "最多 {0} 個字" ), 19 | minlength: $.validator.format( "最少 {0} 個字" ), 20 | rangelength: $.validator.format( "請輸入長度為 {0} 至 {1} 之間的字串" ), 21 | range: $.validator.format( "請輸入 {0} 至 {1} 之間的數值" ), 22 | max: $.validator.format( "請輸入不大於 {0} 的數值" ), 23 | min: $.validator.format( "請輸入不小於 {0} 的數值" ) 24 | } ); 25 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/methods_de.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: DE 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test( value ); 8 | }, 9 | number: function( value, element ) { 10 | return this.optional( element ) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test( value ); 11 | } 12 | } ); 13 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/methods_es_CL.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: ES_CL 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d\d?\-\d\d?\-\d\d\d?\d?$/.test( value ); 8 | }, 9 | number: function( value, element ) { 10 | return this.optional( element ) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test( value ); 11 | } 12 | } ); 13 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/methods_fi.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: FI 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d{1,2}\.\d{1,2}\.\d{4}$/.test( value ); 8 | }, 9 | number: function( value, element ) { 10 | return this.optional( element ) || /^-?(?:\d+)(?:,\d+)?$/.test( value ); 11 | } 12 | } ); 13 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/methods_nl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: NL 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test( value ); 8 | } 9 | } ); 10 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/src/localization/methods_pt.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Localized default methods for the jQuery validation plugin. 3 | * Locale: PT_BR 4 | */ 5 | $.extend( $.validator.methods, { 6 | date: function( value, element ) { 7 | return this.optional( element ) || /^\d\d?\/\d\d?\/\d\d\d?\d?$/.test( value ); 8 | } 9 | } ); 10 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery-validation/validation.jquery.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "validation", 3 | "title": "jQuery Validation", 4 | "description": "Form validation made easy. Validate a simple comment form with inline rules, or a complex signup form with powerful remote checks.", 5 | "keywords": [ 6 | "forms", 7 | "validation", 8 | "validate" 9 | ], 10 | "author": { 11 | "name": "Jörn Zaefferer", 12 | "email": "joern.zaefferer@gmail.com", 13 | "url": "http://bassistance.de" 14 | }, 15 | "licenses": [ 16 | { 17 | "type": "MIT", 18 | "url": "http://www.opensource.org/licenses/MIT" 19 | } 20 | ], 21 | "bugs": "https://github.com/jzaefferer/jquery-validation/issues", 22 | "homepage": "https://github.com/jzaefferer/jquery-validation", 23 | "docs": "http://jqueryvalidation.org/documentation/", 24 | "download": "https://github.com/jzaefferer/jquery-validation/releases", 25 | "dependencies": { 26 | "jquery": ">=1.4.4" 27 | }, 28 | "version": "1.15.1" 29 | } 30 | -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.0", 16 | "_release": "2.2.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.0", 20 | "commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /src/IdsvrMultiTenant/wwwroot/lib/jquery/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright jQuery Foundation and other contributors, https://jquery.org/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/jquery/jquery 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | All files located in the node_modules and external directories are 34 | externally maintained libraries used by this software which have their 35 | own licenses; we recommend you read them, as their terms may differ from 36 | the terms above. 37 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "wwwroot/lib" 3 | } 4 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Microsoft.AspNetCore.Authorization; 3 | using Microsoft.AspNetCore.Http.Authentication; 4 | using Microsoft.AspNetCore.Mvc; 5 | 6 | namespace SecondTenantClientApp.Controllers 7 | { 8 | public class HomeController : Controller 9 | { 10 | public IActionResult Index() 11 | { 12 | var user = User; 13 | return View(); 14 | } 15 | 16 | [Authorize] 17 | public IActionResult Secure() 18 | { 19 | return View(); 20 | } 21 | 22 | public async Task Logout() 23 | { 24 | await HttpContext.Authentication.SignOutAsync("Cookies"); 25 | return new SignOutResult("ExternalIdSvr", new AuthenticationProperties() 26 | { 27 | RedirectUri = "/" 28 | }); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System.IO; 2 | using Microsoft.AspNetCore.Hosting; 3 | 4 | namespace SecondTenantClientApp 5 | { 6 | public class Program 7 | { 8 | public static void Main(string[] args) 9 | { 10 | var host = new WebHostBuilder() 11 | .UseKestrel() 12 | .UseContentRoot(Directory.GetCurrentDirectory()) 13 | .UseIISIntegration() 14 | .UseStartup() 15 | .UseUrls("http://localhost:5001") 16 | .Build(); 17 | 18 | host.Run(); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:56659/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "SecondTenantClientApp": { 19 | "commandName": "Project", 20 | "launchBrowser": false, 21 | "launchUrl": "http://localhost:5001", 22 | "environmentVariables": { 23 | "ASPNETCORE_ENVIRONMENT": "Development" 24 | } 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/SecondTenantClientApp/SecondTenantClientApp.xproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 14.0 5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 6 | 7 | 8 | 9 | 787df8b4-4a24-402b-b71d-babc389c06c6 10 | SecondTenantClientApp 11 | .\obj 12 | .\bin\ 13 | v4.6.1 14 | 15 | 16 | 2.0 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/Startup.cs: -------------------------------------------------------------------------------- 1 | using System.IdentityModel.Tokens.Jwt; 2 | using Microsoft.AspNetCore.Builder; 3 | using Microsoft.AspNetCore.Hosting; 4 | using Microsoft.Extensions.Configuration; 5 | using Microsoft.Extensions.DependencyInjection; 6 | using Microsoft.Extensions.Logging; 7 | using Microsoft.IdentityModel.Protocols.OpenIdConnect; 8 | 9 | namespace SecondTenantClientApp 10 | { 11 | public class Startup 12 | { 13 | public Startup(IHostingEnvironment env) 14 | { 15 | var builder = new ConfigurationBuilder() 16 | .SetBasePath(env.ContentRootPath) 17 | .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) 18 | .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) 19 | .AddEnvironmentVariables(); 20 | Configuration = builder.Build(); 21 | } 22 | 23 | public IConfigurationRoot Configuration { get; } 24 | 25 | // This method gets called by the runtime. Use this method to add services to the container. 26 | public void ConfigureServices(IServiceCollection services) 27 | { 28 | // Add framework services. 29 | services.AddMvc(); 30 | } 31 | 32 | // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 33 | public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 34 | { 35 | loggerFactory.AddConsole(Configuration.GetSection("Logging")); 36 | loggerFactory.AddDebug(); 37 | 38 | if (env.IsDevelopment()) 39 | { 40 | app.UseDeveloperExceptionPage(); 41 | app.UseBrowserLink(); 42 | } 43 | else 44 | { 45 | app.UseExceptionHandler("/Home/Error"); 46 | } 47 | 48 | app.UseStaticFiles(); 49 | 50 | app.UseCookieAuthentication(new CookieAuthenticationOptions() 51 | { 52 | AutomaticAuthenticate = true, 53 | AuthenticationScheme = "Cookies" 54 | }); 55 | 56 | JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear(); 57 | 58 | app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions() 59 | { 60 | ClientId = "SecondTenantClient", 61 | ClientSecret = "SecondTenant-ClientSecret", 62 | Authority = "http://localhost:5050/tenants/second", 63 | ResponseType = OpenIdConnectResponseType.Code, 64 | RequireHttpsMetadata = !env.IsDevelopment(), 65 | SaveTokens = true, 66 | 67 | SignInScheme = "Cookies", 68 | AuthenticationScheme = "ExternalIdSvr" 69 | }); 70 | 71 | app.UseMvc(routes => 72 | { 73 | routes.MapRoute( 74 | name: "default", 75 | template: "{controller=Home}/{action=Index}/{id?}"); 76 | }); 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @if (!Context.User.Identity.IsAuthenticated) 2 | { 3 |

Not authenticated

4 | } 5 | else 6 | { 7 |

Authenticated !!!!

8 | } 9 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/Views/Home/Secure.cshtml: -------------------------------------------------------------------------------- 1 | @using Microsoft.AspNetCore.Authentication 2 | 3 |

Secure

4 | 5 | @{ 6 | var it = await Context.Authentication.GetTokenAsync("id_token"); 7 | var at = await Context.Authentication.GetTokenAsync("access_token"); 8 | var rt = await Context.Authentication.GetTokenAsync("refresh_token"); 9 | } 10 | 11 |
12 |
13 | @if (it != null) 14 | { 15 |
id_token
16 |
@it
17 | } 18 | @if (at != null) 19 | { 20 |
access_token
21 |
@at
22 | } 23 | @if (rt != null) 24 | { 25 |
refresh_token
26 |
@rt
27 | } 28 | @foreach (var claim in User.Claims) 29 | { 30 |
@claim.Type
31 |
@claim.Value
32 | } 33 |
34 |
-------------------------------------------------------------------------------- /src/SecondTenantClientApp/Views/Shared/Error.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Error"; 3 | } 4 | 5 |

Error.

6 |

An error occurred while processing your request.

7 | 8 |

Development Mode

9 |

10 | Swapping to Development environment will display more detailed information about the error that occurred. 11 |

12 |

13 | Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application. 14 |

15 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 2 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "asp.net", 3 | "private": true, 4 | "dependencies": { 5 | "bootstrap": "3.3.6", 6 | "jquery": "2.2.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/bundleconfig.json: -------------------------------------------------------------------------------- 1 | // Configure bundling and minification for the project. 2 | // More info at https://go.microsoft.com/fwlink/?LinkId=808241 3 | [ 4 | { 5 | "outputFileName": "wwwroot/css/site.min.css", 6 | // An array of relative input file paths. Globbing patterns supported 7 | "inputFiles": [ 8 | "wwwroot/css/site.css" 9 | ] 10 | }, 11 | { 12 | "outputFileName": "wwwroot/js/site.min.js", 13 | "inputFiles": [ 14 | "wwwroot/js/site.js" 15 | ], 16 | // Optionally specify minification options 17 | "minify": { 18 | "enabled": true, 19 | "renameLocals": true 20 | }, 21 | // Optinally generate .map file 22 | "sourceMap": false 23 | } 24 | ] 25 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.AspNetCore.Diagnostics": "1.0.0", 4 | "Microsoft.AspNetCore.Mvc": "1.0.1", 5 | "Microsoft.AspNetCore.Razor.Tools": { 6 | "version": "1.0.0-preview2-final", 7 | "type": "build" 8 | }, 9 | "Microsoft.AspNetCore.Routing": "1.0.1", 10 | "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 11 | "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 12 | "Microsoft.AspNetCore.StaticFiles": "1.0.0", 13 | "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0", 14 | "Microsoft.AspNetCore.Authentication.OpenIdConnect": "1.0.0", 15 | "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 16 | "Microsoft.Extensions.Configuration.Json": "1.0.0", 17 | "Microsoft.Extensions.Logging": "1.0.0", 18 | "Microsoft.Extensions.Logging.Console": "1.0.0", 19 | "Microsoft.Extensions.Logging.Debug": "1.0.0", 20 | "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 21 | "Microsoft.NETCore.App": { 22 | "version": "1.0.1", 23 | "type": "platform" 24 | }, 25 | "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0" 26 | }, 27 | "tools": { 28 | "BundlerMinifier.Core": "2.0.238", 29 | "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 30 | "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 31 | }, 32 | "frameworks": { 33 | "netcoreapp1.0": { 34 | "imports": [ 35 | "dotnet5.6", 36 | "portable-net45+win8" 37 | ] 38 | } 39 | }, 40 | "buildOptions": { 41 | "emitEntryPoint": true, 42 | "preserveCompilationContext": true 43 | }, 44 | "runtimeOptions": { 45 | "configProperties": { 46 | "System.GC.Server": true 47 | } 48 | }, 49 | "publishOptions": { 50 | "include": [ 51 | "wwwroot", 52 | "**/*.cshtml", 53 | "appsettings.json", 54 | "web.config" 55 | ] 56 | }, 57 | "scripts": { 58 | "prepublish": [ 59 | "bower install", 60 | "dotnet bundle" 61 | ], 62 | "postpublish": [ 63 | "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" 64 | ] 65 | } 66 | } -------------------------------------------------------------------------------- /src/SecondTenantClientApp/web.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/_references.js: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding-top: 50px; 3 | padding-bottom: 20px; 4 | } 5 | 6 | /* Wrapping element */ 7 | /* Set some basic padding to keep content from hitting the edges */ 8 | .body-content { 9 | padding-left: 15px; 10 | padding-right: 15px; 11 | } 12 | 13 | /* Set widths on the form inputs since otherwise they're 100% wide */ 14 | input, 15 | select, 16 | textarea { 17 | max-width: 280px; 18 | } 19 | 20 | /* Carousel */ 21 | .carousel-caption p { 22 | font-size: 20px; 23 | line-height: 1.4; 24 | } 25 | 26 | /* Make .svg files in the carousel display properly in older browsers */ 27 | .carousel-inner .item img[src$=".svg"] 28 | { 29 | width: 100%; 30 | } 31 | 32 | /* Hide/rearrange for smaller screens */ 33 | @media screen and (max-width: 767px) { 34 | /* Hide captions */ 35 | .carousel-caption { 36 | display: none 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/css/site.min.css: -------------------------------------------------------------------------------- 1 | body{padding-top:50px;padding-bottom:20px}.body-content{padding-left:15px;padding-right:15px}input,select,textarea{max-width:280px}.carousel-caption p{font-size:20px;line-height:1.4}.carousel-inner .item img[src$=".svg"]{width:100%}@media screen and (max-width:767px){.carousel-caption{display:none}} -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/SecondTenantClientApp/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. 2 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/js/site.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/SecondTenantClientApp/wwwroot/js/site.min.js -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/bootstrap/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap", 3 | "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", 4 | "keywords": [ 5 | "css", 6 | "js", 7 | "less", 8 | "mobile-first", 9 | "responsive", 10 | "front-end", 11 | "framework", 12 | "web" 13 | ], 14 | "homepage": "http://getbootstrap.com", 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "main": [ 18 | "less/bootstrap.less", 19 | "dist/js/bootstrap.js" 20 | ], 21 | "ignore": [ 22 | "/.*", 23 | "_config.yml", 24 | "CNAME", 25 | "composer.json", 26 | "CONTRIBUTING.md", 27 | "docs", 28 | "js/tests", 29 | "test-infra" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.9.1 - 2" 33 | }, 34 | "version": "3.3.6", 35 | "_release": "3.3.6", 36 | "_resolution": { 37 | "type": "version", 38 | "tag": "v3.3.6", 39 | "commit": "81df608a40bf0629a1dc08e584849bb1e43e0b7a" 40 | }, 41 | "_source": "git://github.com/twbs/bootstrap.git", 42 | "_target": "3.3.6", 43 | "_originalSource": "bootstrap" 44 | } -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/bootstrap/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2015 Twitter, Inc 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/khelben/IdsvrMultiTenantExample/c6479a9c850a51981917e187af1f0141e0e91ae4/src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/bootstrap/dist/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/jquery/.bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "main": "dist/jquery.js", 4 | "license": "MIT", 5 | "ignore": [ 6 | "package.json" 7 | ], 8 | "keywords": [ 9 | "jquery", 10 | "javascript", 11 | "browser", 12 | "library" 13 | ], 14 | "homepage": "https://github.com/jquery/jquery-dist", 15 | "version": "2.2.0", 16 | "_release": "2.2.0", 17 | "_resolution": { 18 | "type": "version", 19 | "tag": "2.2.0", 20 | "commit": "6fc01e29bdad0964f62ef56d01297039cdcadbe5" 21 | }, 22 | "_source": "git://github.com/jquery/jquery-dist.git", 23 | "_target": "2.2.0", 24 | "_originalSource": "jquery" 25 | } -------------------------------------------------------------------------------- /src/SecondTenantClientApp/wwwroot/lib/jquery/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright jQuery Foundation and other contributors, https://jquery.org/ 2 | 3 | This software consists of voluntary contributions made by many 4 | individuals. For exact contribution history, see the revision history 5 | available at https://github.com/jquery/jquery 6 | 7 | The following license applies to all parts of this software except as 8 | documented below: 9 | 10 | ==== 11 | 12 | Permission is hereby granted, free of charge, to any person obtaining 13 | a copy of this software and associated documentation files (the 14 | "Software"), to deal in the Software without restriction, including 15 | without limitation the rights to use, copy, modify, merge, publish, 16 | distribute, sublicense, and/or sell copies of the Software, and to 17 | permit persons to whom the Software is furnished to do so, subject to 18 | the following conditions: 19 | 20 | The above copyright notice and this permission notice shall be 21 | included in all copies or substantial portions of the Software. 22 | 23 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 24 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 25 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 26 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 27 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 28 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 29 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 30 | 31 | ==== 32 | 33 | All files located in the node_modules and external directories are 34 | externally maintained libraries used by this software which have their 35 | own licenses; we recommend you read them, as their terms may differ from 36 | the terms above. 37 | --------------------------------------------------------------------------------