├── .DS_Store
├── .gitignore
├── .vscode
├── launch.json
└── tasks.json
├── README.md
├── Solution 1 - Setup OIDC system with client credentials
├── .vs
│ ├── config
│ │ └── applicationhost.config
│ └── oidc-angular-identityserver
│ │ └── v15
│ │ ├── .suo
│ │ └── Server
│ │ └── sqlite3
│ │ ├── db.lock
│ │ └── storage.ide
├── AuthorizationServer
│ ├── AuthorizationServer.csproj
│ ├── AuthorizationServer.csproj.user
│ ├── Config.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Startup.cs
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── AuthorizationServer.deps.json
│ │ │ ├── AuthorizationServer.dll
│ │ │ ├── AuthorizationServer.pdb
│ │ │ ├── AuthorizationServer.runtimeconfig.dev.json
│ │ │ └── AuthorizationServer.runtimeconfig.json
│ ├── obj
│ │ ├── AuthorizationServer.csproj.nuget.cache
│ │ ├── AuthorizationServer.csproj.nuget.g.props
│ │ ├── AuthorizationServer.csproj.nuget.g.targets
│ │ ├── Debug
│ │ │ └── netcoreapp2.0
│ │ │ │ ├── AuthorizationServer.AssemblyInfo.cs
│ │ │ │ ├── AuthorizationServer.AssemblyInfoInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.CoreCompileInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.FileListAbsolute.txt
│ │ │ │ ├── AuthorizationServer.csprojResolveAssemblyReference.cache
│ │ │ │ ├── AuthorizationServer.dll
│ │ │ │ └── AuthorizationServer.pdb
│ │ ├── Docker
│ │ │ ├── AppType.cache
│ │ │ ├── CanonicalServiceName.cache
│ │ │ ├── ProjectReferences.cache
│ │ │ ├── RelativeOutputAssemblyPath.Fast.cache
│ │ │ ├── RelativeOutputAssemblyPath.Regular.cache
│ │ │ └── TargetFramework.cache
│ │ └── project.assets.json
│ └── tempkey.rsa
├── ClientApp
│ ├── .gitignore
│ ├── ClientApp.csproj
│ ├── ClientApp
│ │ ├── app
│ │ │ ├── app.browser.module.ts
│ │ │ ├── app.server.module.ts
│ │ │ ├── app.shared.module.ts
│ │ │ └── components
│ │ │ │ ├── app
│ │ │ │ ├── app.component.css
│ │ │ │ ├── app.component.html
│ │ │ │ └── app.component.ts
│ │ │ │ ├── counter
│ │ │ │ ├── counter.component.html
│ │ │ │ ├── counter.component.spec.ts
│ │ │ │ └── counter.component.ts
│ │ │ │ ├── fetchdata
│ │ │ │ ├── fetchdata.component.html
│ │ │ │ └── fetchdata.component.ts
│ │ │ │ ├── home
│ │ │ │ ├── home.component.html
│ │ │ │ └── home.component.ts
│ │ │ │ └── navmenu
│ │ │ │ ├── navmenu.component.css
│ │ │ │ ├── navmenu.component.html
│ │ │ │ └── navmenu.component.ts
│ │ ├── boot.browser.ts
│ │ ├── boot.server.ts
│ │ └── test
│ │ │ ├── boot-tests.ts
│ │ │ └── karma.conf.js
│ ├── Controllers
│ │ ├── HomeController.cs
│ │ ├── IdentityController.cs
│ │ └── SampleDataController.cs
│ ├── Program.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ └── _Layout.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── npm-shrinkwrap.json
│ ├── package.json
│ ├── tsconfig.json
│ ├── webpack.config.js
│ ├── webpack.config.vendor.js
│ └── wwwroot
│ │ └── favicon.ico
├── README.md
├── ResourceApi
│ ├── Controllers
│ │ ├── IdentityController.cs
│ │ └── ValuesController.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── ResourceApi.csproj
│ ├── ResourceApi.csproj.user
│ ├── Startup.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.deps.json
│ │ │ ├── ResourceApi.dll
│ │ │ ├── ResourceApi.pdb
│ │ │ ├── ResourceApi.runtimeconfig.dev.json
│ │ │ └── ResourceApi.runtimeconfig.json
│ └── obj
│ │ ├── Debug
│ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.AssemblyInfo.cs
│ │ │ ├── ResourceApi.AssemblyInfoInputs.cache
│ │ │ ├── ResourceApi.assets.cache
│ │ │ ├── ResourceApi.csproj.CoreCompileInputs.cache
│ │ │ ├── ResourceApi.csproj.FileListAbsolute.txt
│ │ │ ├── ResourceApi.csprojAssemblyReference.cache
│ │ │ ├── ResourceApi.csprojResolveAssemblyReference.cache
│ │ │ ├── ResourceApi.dll
│ │ │ ├── ResourceApi.pdb
│ │ │ └── project.razor.json
│ │ ├── ResourceApi.csproj.nuget.cache
│ │ ├── ResourceApi.csproj.nuget.g.props
│ │ ├── ResourceApi.csproj.nuget.g.targets
│ │ └── project.assets.json
├── Screenshots
│ └── calling-identity.PNG
└── oidc-angular-identityserver.sln
├── Solution 2 - OIDC with interactive login and authentication code flow
├── .vs
│ ├── config
│ │ └── applicationhost.config
│ └── oidc-angular-identityserver
│ │ └── v15
│ │ ├── .suo
│ │ └── Server
│ │ └── sqlite3
│ │ ├── db.lock
│ │ └── storage.ide
├── AuthorizationServer
│ ├── AuthorizationServer.csproj
│ ├── AuthorizationServer.csproj.user
│ ├── Config.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Quickstart
│ │ ├── Account
│ │ │ ├── AccountController.cs
│ │ │ ├── AccountOptions.cs
│ │ │ ├── ExternalProvider.cs
│ │ │ ├── LoggedOutViewModel.cs
│ │ │ ├── LoginInputModel.cs
│ │ │ ├── LoginViewModel.cs
│ │ │ ├── LogoutInputModel.cs
│ │ │ └── LogoutViewModel.cs
│ │ ├── Consent
│ │ │ ├── ConsentController.cs
│ │ │ ├── ConsentInputModel.cs
│ │ │ ├── ConsentOptions.cs
│ │ │ ├── ConsentViewModel.cs
│ │ │ ├── ProcessConsentResult.cs
│ │ │ └── ScopeViewModel.cs
│ │ ├── Diagnostics
│ │ │ ├── DiagnosticsController.cs
│ │ │ └── DiagnosticsViewModel.cs
│ │ ├── Grants
│ │ │ ├── GrantsController.cs
│ │ │ └── GrantsViewModel.cs
│ │ ├── Home
│ │ │ ├── ErrorViewModel.cs
│ │ │ └── HomeController.cs
│ │ ├── SecurityHeadersAttribute.cs
│ │ └── TestUsers.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Account
│ │ │ ├── LoggedOut.cshtml
│ │ │ ├── Login.cshtml
│ │ │ └── Logout.cshtml
│ │ ├── Consent
│ │ │ ├── Index.cshtml
│ │ │ └── _ScopeListItem.cshtml
│ │ ├── Diagnostics
│ │ │ └── Index.cshtml
│ │ ├── Grants
│ │ │ └── Index.cshtml
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ ├── _Layout.cshtml
│ │ │ └── _ValidationSummary.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── AuthorizationServer.deps.json
│ │ │ ├── AuthorizationServer.dll
│ │ │ ├── AuthorizationServer.pdb
│ │ │ ├── AuthorizationServer.runtimeconfig.dev.json
│ │ │ └── AuthorizationServer.runtimeconfig.json
│ ├── obj
│ │ ├── AuthorizationServer.csproj.nuget.cache
│ │ ├── AuthorizationServer.csproj.nuget.g.props
│ │ ├── AuthorizationServer.csproj.nuget.g.targets
│ │ ├── Debug
│ │ │ └── netcoreapp2.0
│ │ │ │ ├── AuthorizationServer.AssemblyInfo.cs
│ │ │ │ ├── AuthorizationServer.AssemblyInfoInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.CoreCompileInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.FileListAbsolute.txt
│ │ │ │ ├── AuthorizationServer.csprojResolveAssemblyReference.cache
│ │ │ │ ├── AuthorizationServer.dll
│ │ │ │ └── AuthorizationServer.pdb
│ │ ├── Docker
│ │ │ ├── AppType.cache
│ │ │ ├── CanonicalServiceName.cache
│ │ │ ├── ProjectReferences.cache
│ │ │ ├── RelativeOutputAssemblyPath.Fast.cache
│ │ │ ├── RelativeOutputAssemblyPath.Regular.cache
│ │ │ └── TargetFramework.cache
│ │ └── project.assets.json
│ ├── tempkey.rsa
│ └── wwwroot
│ │ ├── css
│ │ ├── site.css
│ │ ├── site.less
│ │ └── site.min.css
│ │ ├── favicon.ico
│ │ ├── icon.jpg
│ │ ├── icon.png
│ │ ├── js
│ │ └── signout-redirect.js
│ │ └── lib
│ │ ├── bootstrap
│ │ ├── css
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ └── bootstrap.min.css
│ │ ├── 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
│ │ └── jquery
│ │ ├── jquery.js
│ │ ├── jquery.min.js
│ │ └── jquery.min.map
├── ClientApp
│ ├── .gitignore
│ ├── ClientApp.csproj
│ ├── ClientApp
│ │ ├── app
│ │ │ ├── app.browser.module.ts
│ │ │ ├── app.server.module.ts
│ │ │ ├── app.shared.module.ts
│ │ │ └── components
│ │ │ │ ├── app
│ │ │ │ ├── app.component.css
│ │ │ │ ├── app.component.html
│ │ │ │ └── app.component.ts
│ │ │ │ ├── counter
│ │ │ │ ├── counter.component.html
│ │ │ │ ├── counter.component.spec.ts
│ │ │ │ └── counter.component.ts
│ │ │ │ ├── fetchdata
│ │ │ │ ├── fetchdata.component.html
│ │ │ │ └── fetchdata.component.ts
│ │ │ │ ├── home
│ │ │ │ ├── home.component.html
│ │ │ │ └── home.component.ts
│ │ │ │ └── navmenu
│ │ │ │ ├── navmenu.component.css
│ │ │ │ ├── navmenu.component.html
│ │ │ │ └── navmenu.component.ts
│ │ ├── boot.browser.ts
│ │ ├── boot.server.ts
│ │ └── test
│ │ │ ├── boot-tests.ts
│ │ │ └── karma.conf.js
│ ├── Controllers
│ │ ├── HomeController.cs
│ │ ├── IdentityController.cs
│ │ └── SampleDataController.cs
│ ├── Models
│ │ └── UserClaimsVM.cs
│ ├── Program.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Identity
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ └── _Layout.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── npm-shrinkwrap.json
│ ├── package.json
│ ├── tsconfig.json
│ ├── webpack.config.js
│ ├── webpack.config.vendor.js
│ └── wwwroot
│ │ └── favicon.ico
├── README.md
├── ResourceApi
│ ├── Controllers
│ │ ├── IdentityController.cs
│ │ └── ValuesController.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── ResourceApi.csproj
│ ├── ResourceApi.csproj.user
│ ├── Startup.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.deps.json
│ │ │ ├── ResourceApi.dll
│ │ │ ├── ResourceApi.pdb
│ │ │ ├── ResourceApi.runtimeconfig.dev.json
│ │ │ └── ResourceApi.runtimeconfig.json
│ └── obj
│ │ ├── Debug
│ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.AssemblyInfo.cs
│ │ │ ├── ResourceApi.AssemblyInfoInputs.cache
│ │ │ ├── ResourceApi.csproj.CoreCompileInputs.cache
│ │ │ ├── ResourceApi.csproj.FileListAbsolute.txt
│ │ │ ├── ResourceApi.csprojResolveAssemblyReference.cache
│ │ │ ├── ResourceApi.dll
│ │ │ └── ResourceApi.pdb
│ │ ├── ResourceApi.csproj.nuget.cache
│ │ ├── ResourceApi.csproj.nuget.g.props
│ │ ├── ResourceApi.csproj.nuget.g.targets
│ │ └── project.assets.json
├── Screenshots
│ ├── calling-identity.PNG
│ └── identity-view-authcode.PNG
└── oidc-angular-identityserver.sln
├── Solution 3 - OIDC with Hybrid flow and call api
├── .vs
│ ├── config
│ │ └── applicationhost.config
│ └── oidc-angular-identityserver
│ │ └── v15
│ │ ├── .suo
│ │ └── Server
│ │ └── sqlite3
│ │ ├── db.lock
│ │ └── storage.ide
├── AuthorizationServer
│ ├── AuthorizationServer.csproj
│ ├── AuthorizationServer.csproj.user
│ ├── Config.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Quickstart
│ │ ├── Account
│ │ │ ├── AccountController.cs
│ │ │ ├── AccountOptions.cs
│ │ │ ├── ExternalProvider.cs
│ │ │ ├── LoggedOutViewModel.cs
│ │ │ ├── LoginInputModel.cs
│ │ │ ├── LoginViewModel.cs
│ │ │ ├── LogoutInputModel.cs
│ │ │ └── LogoutViewModel.cs
│ │ ├── Consent
│ │ │ ├── ConsentController.cs
│ │ │ ├── ConsentInputModel.cs
│ │ │ ├── ConsentOptions.cs
│ │ │ ├── ConsentViewModel.cs
│ │ │ ├── ProcessConsentResult.cs
│ │ │ └── ScopeViewModel.cs
│ │ ├── Diagnostics
│ │ │ ├── DiagnosticsController.cs
│ │ │ └── DiagnosticsViewModel.cs
│ │ ├── Grants
│ │ │ ├── GrantsController.cs
│ │ │ └── GrantsViewModel.cs
│ │ ├── Home
│ │ │ ├── ErrorViewModel.cs
│ │ │ └── HomeController.cs
│ │ ├── SecurityHeadersAttribute.cs
│ │ └── TestUsers.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Account
│ │ │ ├── LoggedOut.cshtml
│ │ │ ├── Login.cshtml
│ │ │ └── Logout.cshtml
│ │ ├── Consent
│ │ │ ├── Index.cshtml
│ │ │ └── _ScopeListItem.cshtml
│ │ ├── Diagnostics
│ │ │ └── Index.cshtml
│ │ ├── Grants
│ │ │ └── Index.cshtml
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ ├── _Layout.cshtml
│ │ │ └── _ValidationSummary.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── AuthorizationServer.deps.json
│ │ │ ├── AuthorizationServer.dll
│ │ │ ├── AuthorizationServer.pdb
│ │ │ ├── AuthorizationServer.runtimeconfig.dev.json
│ │ │ └── AuthorizationServer.runtimeconfig.json
│ ├── obj
│ │ ├── AuthorizationServer.csproj.nuget.cache
│ │ ├── AuthorizationServer.csproj.nuget.g.props
│ │ ├── AuthorizationServer.csproj.nuget.g.targets
│ │ ├── Debug
│ │ │ └── netcoreapp2.0
│ │ │ │ ├── AuthorizationServer.AssemblyInfo.cs
│ │ │ │ ├── AuthorizationServer.AssemblyInfoInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.CoreCompileInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.FileListAbsolute.txt
│ │ │ │ ├── AuthorizationServer.csprojResolveAssemblyReference.cache
│ │ │ │ ├── AuthorizationServer.dll
│ │ │ │ └── AuthorizationServer.pdb
│ │ ├── Docker
│ │ │ ├── AppType.cache
│ │ │ ├── CanonicalServiceName.cache
│ │ │ ├── ProjectReferences.cache
│ │ │ ├── RelativeOutputAssemblyPath.Fast.cache
│ │ │ ├── RelativeOutputAssemblyPath.Regular.cache
│ │ │ └── TargetFramework.cache
│ │ └── project.assets.json
│ ├── tempkey.rsa
│ └── wwwroot
│ │ ├── css
│ │ ├── site.css
│ │ ├── site.less
│ │ └── site.min.css
│ │ ├── favicon.ico
│ │ ├── icon.jpg
│ │ ├── icon.png
│ │ ├── js
│ │ └── signout-redirect.js
│ │ └── lib
│ │ ├── bootstrap
│ │ ├── css
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ └── bootstrap.min.css
│ │ ├── 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
│ │ └── jquery
│ │ ├── jquery.js
│ │ ├── jquery.min.js
│ │ └── jquery.min.map
├── ClientApp
│ ├── .gitignore
│ ├── ClientApp.csproj
│ ├── ClientApp
│ │ ├── app
│ │ │ ├── app.browser.module.ts
│ │ │ ├── app.server.module.ts
│ │ │ ├── app.shared.module.ts
│ │ │ └── components
│ │ │ │ ├── app
│ │ │ │ ├── app.component.css
│ │ │ │ ├── app.component.html
│ │ │ │ └── app.component.ts
│ │ │ │ ├── counter
│ │ │ │ ├── counter.component.html
│ │ │ │ ├── counter.component.spec.ts
│ │ │ │ └── counter.component.ts
│ │ │ │ ├── fetchdata
│ │ │ │ ├── fetchdata.component.html
│ │ │ │ └── fetchdata.component.ts
│ │ │ │ ├── home
│ │ │ │ ├── home.component.html
│ │ │ │ └── home.component.ts
│ │ │ │ └── navmenu
│ │ │ │ ├── navmenu.component.css
│ │ │ │ ├── navmenu.component.html
│ │ │ │ └── navmenu.component.ts
│ │ ├── boot.browser.ts
│ │ ├── boot.server.ts
│ │ └── test
│ │ │ ├── boot-tests.ts
│ │ │ └── karma.conf.js
│ ├── Controllers
│ │ ├── HomeController.cs
│ │ ├── IdentityController.cs
│ │ └── SampleDataController.cs
│ ├── Models
│ │ └── UserClaimsVM.cs
│ ├── Program.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Identity
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ └── _Layout.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── npm-shrinkwrap.json
│ ├── package.json
│ ├── tsconfig.json
│ ├── webpack.config.js
│ ├── webpack.config.vendor.js
│ └── wwwroot
│ │ └── favicon.ico
├── README.md
├── ResourceApi
│ ├── Controllers
│ │ ├── IdentityController.cs
│ │ └── ValuesController.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── ResourceApi.csproj
│ ├── ResourceApi.csproj.user
│ ├── Startup.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.deps.json
│ │ │ ├── ResourceApi.dll
│ │ │ ├── ResourceApi.pdb
│ │ │ ├── ResourceApi.runtimeconfig.dev.json
│ │ │ └── ResourceApi.runtimeconfig.json
│ └── obj
│ │ ├── Debug
│ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.AssemblyInfo.cs
│ │ │ ├── ResourceApi.AssemblyInfoInputs.cache
│ │ │ ├── ResourceApi.csproj.CoreCompileInputs.cache
│ │ │ ├── ResourceApi.csproj.FileListAbsolute.txt
│ │ │ ├── ResourceApi.csprojResolveAssemblyReference.cache
│ │ │ ├── ResourceApi.dll
│ │ │ └── ResourceApi.pdb
│ │ ├── ResourceApi.csproj.nuget.cache
│ │ ├── ResourceApi.csproj.nuget.g.props
│ │ ├── ResourceApi.csproj.nuget.g.targets
│ │ └── project.assets.json
├── Screenshots
│ └── calling-identity.PNG
└── oidc-angular-identityserver.sln
├── Solution 4 - OIDC with Identity
├── .vs
│ ├── config
│ │ └── applicationhost.config
│ └── oidc-angular-identityserver
│ │ └── v15
│ │ ├── .suo
│ │ └── Server
│ │ └── sqlite3
│ │ ├── db.lock
│ │ └── storage.ide
├── AuthorizationServer
│ ├── AuthorizationServer.csproj
│ ├── AuthorizationServer.csproj.user
│ ├── Config.cs
│ ├── Controllers
│ │ └── AccountController.cs
│ ├── Data
│ │ ├── ApplicationDbContext.cs
│ │ ├── ApplicationUser.cs
│ │ └── Migrations
│ │ │ ├── 00000000000000_CreateIdentitySchema.Designer.cs
│ │ │ ├── 00000000000000_CreateIdentitySchema.cs
│ │ │ └── ApplicationDbContextModelSnapshot.cs
│ ├── Extensions
│ │ ├── EmailSenderExtensions.cs
│ │ └── UrlHelperExtensions.cs
│ ├── Pages
│ │ ├── About.cshtml
│ │ ├── About.cshtml.cs
│ │ ├── Account
│ │ │ ├── AccessDenied.cshtml
│ │ │ ├── AccessDenied.cshtml.cs
│ │ │ ├── ConfirmEmail.cshtml
│ │ │ ├── ConfirmEmail.cshtml.cs
│ │ │ ├── ExternalLogin.cshtml
│ │ │ ├── ExternalLogin.cshtml.cs
│ │ │ ├── ForgotPassword.cshtml
│ │ │ ├── ForgotPassword.cshtml.cs
│ │ │ ├── ForgotPasswordConfirmation.cshtml
│ │ │ ├── ForgotPasswordConfirmation.cshtml.cs
│ │ │ ├── Lockout.cshtml
│ │ │ ├── Lockout.cshtml.cs
│ │ │ ├── Login.cshtml
│ │ │ ├── Login.cshtml.cs
│ │ │ ├── LoginWith2fa.cshtml
│ │ │ ├── LoginWith2fa.cshtml.cs
│ │ │ ├── LoginWithRecoveryCode.cshtml
│ │ │ ├── LoginWithRecoveryCode.cshtml.cs
│ │ │ ├── Manage
│ │ │ │ ├── ChangePassword.cshtml
│ │ │ │ ├── ChangePassword.cshtml.cs
│ │ │ │ ├── Disable2fa.cshtml
│ │ │ │ ├── Disable2fa.cshtml.cs
│ │ │ │ ├── EnableAuthenticator.cshtml
│ │ │ │ ├── EnableAuthenticator.cshtml.cs
│ │ │ │ ├── ExternalLogins.cshtml
│ │ │ │ ├── ExternalLogins.cshtml.cs
│ │ │ │ ├── GenerateRecoveryCodes.cshtml
│ │ │ │ ├── GenerateRecoveryCodes.cshtml.cs
│ │ │ │ ├── Index.cshtml
│ │ │ │ ├── Index.cshtml.cs
│ │ │ │ ├── ManageNavPages.cs
│ │ │ │ ├── ResetAuthenticator.cshtml
│ │ │ │ ├── ResetAuthenticator.cshtml.cs
│ │ │ │ ├── SetPassword.cshtml
│ │ │ │ ├── SetPassword.cshtml.cs
│ │ │ │ ├── ShowRecoveryCodes.cshtml
│ │ │ │ ├── ShowRecoveryCodes.cshtml.cs
│ │ │ │ ├── TwoFactorAuthentication.cshtml
│ │ │ │ ├── TwoFactorAuthentication.cshtml.cs
│ │ │ │ ├── _Layout.cshtml
│ │ │ │ ├── _ManageNav.cshtml
│ │ │ │ ├── _StatusMessage.cshtml
│ │ │ │ └── _ViewImports.cshtml
│ │ │ ├── Register.cshtml
│ │ │ ├── Register.cshtml.cs
│ │ │ ├── ResetPassword.cshtml
│ │ │ ├── ResetPassword.cshtml.cs
│ │ │ ├── ResetPasswordConfirmation.cshtml
│ │ │ ├── ResetPasswordConfirmation.cshtml.cs
│ │ │ ├── SignedOut.cshtml
│ │ │ ├── SignedOut.cshtml.cs
│ │ │ └── _ViewImports.cshtml
│ │ ├── Contact.cshtml
│ │ ├── Contact.cshtml.cs
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.cshtml
│ │ ├── Index.cshtml.cs
│ │ ├── _Layout.cshtml
│ │ ├── _LoginPartial.cshtml
│ │ ├── _ValidationScriptsPartial.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Quickstart
│ │ ├── Account
│ │ │ ├── AccountController.cs
│ │ │ ├── AccountOptions.cs
│ │ │ ├── ExternalProvider.cs
│ │ │ ├── LoggedOutViewModel.cs
│ │ │ ├── LoginInputModel.cs
│ │ │ ├── LoginViewModel.cs
│ │ │ ├── LogoutInputModel.cs
│ │ │ └── LogoutViewModel.cs
│ │ ├── Consent
│ │ │ ├── ConsentController.cs
│ │ │ ├── ConsentInputModel.cs
│ │ │ ├── ConsentOptions.cs
│ │ │ ├── ConsentViewModel.cs
│ │ │ ├── ProcessConsentResult.cs
│ │ │ └── ScopeViewModel.cs
│ │ ├── Diagnostics
│ │ │ ├── DiagnosticsController.cs
│ │ │ └── DiagnosticsViewModel.cs
│ │ ├── Grants
│ │ │ ├── GrantsController.cs
│ │ │ └── GrantsViewModel.cs
│ │ ├── Home
│ │ │ ├── ErrorViewModel.cs
│ │ │ └── HomeController.cs
│ │ ├── SecurityHeadersAttribute.cs
│ │ └── TestUsers.cs
│ ├── Services
│ │ ├── EmailSender.cs
│ │ └── IEmailSender.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Account
│ │ │ ├── LoggedOut.cshtml
│ │ │ ├── Login.cshtml
│ │ │ └── Logout.cshtml
│ │ ├── Consent
│ │ │ ├── Index.cshtml
│ │ │ └── _ScopeListItem.cshtml
│ │ ├── Diagnostics
│ │ │ └── Index.cshtml
│ │ ├── Grants
│ │ │ └── Index.cshtml
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ ├── _Layout.cshtml
│ │ │ └── _ValidationSummary.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── AuthorizationServer.deps.json
│ │ │ ├── AuthorizationServer.dll
│ │ │ ├── AuthorizationServer.pdb
│ │ │ ├── AuthorizationServer.runtimeconfig.dev.json
│ │ │ └── AuthorizationServer.runtimeconfig.json
│ ├── bundleconfig.json
│ ├── obj
│ │ ├── AuthorizationServer.csproj.EntityFrameworkCore.targets
│ │ ├── AuthorizationServer.csproj.nuget.cache
│ │ ├── AuthorizationServer.csproj.nuget.g.props
│ │ ├── AuthorizationServer.csproj.nuget.g.targets
│ │ ├── Debug
│ │ │ └── netcoreapp2.0
│ │ │ │ ├── AuthorizationServer.AssemblyInfo.cs
│ │ │ │ ├── AuthorizationServer.AssemblyInfoInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.CoreCompileInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.FileListAbsolute.txt
│ │ │ │ ├── AuthorizationServer.csprojResolveAssemblyReference.cache
│ │ │ │ ├── AuthorizationServer.dll
│ │ │ │ ├── AuthorizationServer.pdb
│ │ │ │ └── UserSecretsAssemblyInfo.cs
│ │ └── project.assets.json
│ ├── tempkey.rsa
│ └── wwwroot
│ │ ├── css
│ │ ├── site.css
│ │ ├── site.less
│ │ └── site.min.css
│ │ ├── favicon.ico
│ │ ├── icon.jpg
│ │ ├── icon.png
│ │ ├── images
│ │ ├── banner1.svg
│ │ ├── banner2.svg
│ │ ├── banner3.svg
│ │ └── banner4.svg
│ │ ├── js
│ │ ├── signout-redirect.js
│ │ ├── site.js
│ │ └── site.min.js
│ │ └── lib
│ │ ├── bootstrap
│ │ ├── .bower.json
│ │ ├── LICENSE
│ │ ├── css
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ └── bootstrap.min.css
│ │ ├── dist
│ │ │ ├── css
│ │ │ │ ├── bootstrap-theme.css
│ │ │ │ ├── bootstrap-theme.css.map
│ │ │ │ ├── bootstrap-theme.min.css.map
│ │ │ │ ├── bootstrap.css
│ │ │ │ ├── bootstrap.css.map
│ │ │ │ └── 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
│ │ │ │ └── npm.js
│ │ ├── 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
│ │ ├── jquery-validation-unobtrusive
│ │ ├── .bower.json
│ │ ├── jquery.validate.unobtrusive.js
│ │ └── jquery.validate.unobtrusive.min.js
│ │ ├── jquery-validation
│ │ ├── .bower.json
│ │ ├── LICENSE.md
│ │ └── dist
│ │ │ ├── additional-methods.js
│ │ │ └── jquery.validate.js
│ │ └── jquery
│ │ ├── .bower.json
│ │ ├── LICENSE.txt
│ │ ├── dist
│ │ ├── jquery.js
│ │ └── jquery.min.map
│ │ ├── jquery.js
│ │ ├── jquery.min.js
│ │ └── jquery.min.map
├── ClientApp
│ ├── .gitignore
│ ├── ClientApp.csproj
│ ├── ClientApp
│ │ ├── app
│ │ │ ├── app.browser.module.ts
│ │ │ ├── app.server.module.ts
│ │ │ ├── app.shared.module.ts
│ │ │ └── components
│ │ │ │ ├── app
│ │ │ │ ├── app.component.css
│ │ │ │ ├── app.component.html
│ │ │ │ └── app.component.ts
│ │ │ │ ├── counter
│ │ │ │ ├── counter.component.html
│ │ │ │ ├── counter.component.spec.ts
│ │ │ │ └── counter.component.ts
│ │ │ │ ├── fetchdata
│ │ │ │ ├── fetchdata.component.html
│ │ │ │ └── fetchdata.component.ts
│ │ │ │ ├── home
│ │ │ │ ├── home.component.html
│ │ │ │ └── home.component.ts
│ │ │ │ └── navmenu
│ │ │ │ ├── navmenu.component.css
│ │ │ │ ├── navmenu.component.html
│ │ │ │ └── navmenu.component.ts
│ │ ├── boot.browser.ts
│ │ ├── boot.server.ts
│ │ └── test
│ │ │ ├── boot-tests.ts
│ │ │ └── karma.conf.js
│ ├── Controllers
│ │ ├── HomeController.cs
│ │ ├── IdentityController.cs
│ │ └── SampleDataController.cs
│ ├── Models
│ │ └── UserClaimsVM.cs
│ ├── Program.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Identity
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ └── _Layout.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── npm-shrinkwrap.json
│ ├── package.json
│ ├── tsconfig.json
│ ├── webpack.config.js
│ ├── webpack.config.vendor.js
│ └── wwwroot
│ │ └── favicon.ico
├── README.md
├── ResourceApi
│ ├── Controllers
│ │ ├── IdentityController.cs
│ │ └── ValuesController.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── ResourceApi.csproj
│ ├── ResourceApi.csproj.user
│ ├── Startup.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.deps.json
│ │ │ ├── ResourceApi.dll
│ │ │ ├── ResourceApi.pdb
│ │ │ ├── ResourceApi.runtimeconfig.dev.json
│ │ │ └── ResourceApi.runtimeconfig.json
│ └── obj
│ │ ├── Debug
│ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.AssemblyInfo.cs
│ │ │ ├── ResourceApi.AssemblyInfoInputs.cache
│ │ │ ├── ResourceApi.csproj.CoreCompileInputs.cache
│ │ │ ├── ResourceApi.csproj.FileListAbsolute.txt
│ │ │ ├── ResourceApi.csprojResolveAssemblyReference.cache
│ │ │ ├── ResourceApi.dll
│ │ │ └── ResourceApi.pdb
│ │ ├── ResourceApi.csproj.nuget.cache
│ │ ├── ResourceApi.csproj.nuget.g.props
│ │ ├── ResourceApi.csproj.nuget.g.targets
│ │ └── project.assets.json
├── Screenshots
│ └── calling-identity.PNG
└── oidc-angular-identityserver.sln
├── Solution 5 - OIDC with EF for configuration
├── .vs
│ ├── config
│ │ └── applicationhost.config
│ └── oidc-angular-identityserver
│ │ ├── DesignTimeBuild
│ │ └── .dtbcache
│ │ ├── config
│ │ └── applicationhost.config
│ │ ├── v15
│ │ ├── .suo
│ │ └── Server
│ │ │ └── sqlite3
│ │ │ ├── db.lock
│ │ │ └── storage.ide
│ │ └── v16
│ │ ├── .suo
│ │ └── Server
│ │ └── sqlite3
│ │ ├── db.lock
│ │ └── storage.ide
├── AuthorizationServer
│ ├── AuthorizationServer.csproj
│ ├── AuthorizationServer.csproj.user
│ ├── Config.cs
│ ├── Controllers
│ │ └── AccountController.cs
│ ├── Data
│ │ ├── ApplicationDbContext.cs
│ │ ├── ApplicationUser.cs
│ │ ├── Migrations
│ │ │ ├── 00000000000000_CreateIdentitySchema.Designer.cs
│ │ │ ├── 00000000000000_CreateIdentitySchema.cs
│ │ │ ├── ApplicationDbContextModelSnapshot.cs
│ │ │ └── IdentityServer
│ │ │ │ ├── Configuration
│ │ │ │ ├── 20180328175934_InitConfigration.Designer.cs
│ │ │ │ ├── 20180328175934_InitConfigration.cs
│ │ │ │ └── ConfigurationDbContextModelSnapshot.cs
│ │ │ │ └── PersistedGrant
│ │ │ │ ├── 20180328175949_InitPersistedGrant.Designer.cs
│ │ │ │ ├── 20180328175949_InitPersistedGrant.cs
│ │ │ │ └── PersistedGrantDbContextModelSnapshot.cs
│ │ └── SeedData.cs
│ ├── Extensions
│ │ ├── EmailSenderExtensions.cs
│ │ └── UrlHelperExtensions.cs
│ ├── Pages
│ │ ├── About.cshtml
│ │ ├── About.cshtml.cs
│ │ ├── Account
│ │ │ ├── AccessDenied.cshtml
│ │ │ ├── AccessDenied.cshtml.cs
│ │ │ ├── ConfirmEmail.cshtml
│ │ │ ├── ConfirmEmail.cshtml.cs
│ │ │ ├── ExternalLogin.cshtml
│ │ │ ├── ExternalLogin.cshtml.cs
│ │ │ ├── ForgotPassword.cshtml
│ │ │ ├── ForgotPassword.cshtml.cs
│ │ │ ├── ForgotPasswordConfirmation.cshtml
│ │ │ ├── ForgotPasswordConfirmation.cshtml.cs
│ │ │ ├── Lockout.cshtml
│ │ │ ├── Lockout.cshtml.cs
│ │ │ ├── Login.cshtml
│ │ │ ├── Login.cshtml.cs
│ │ │ ├── LoginWith2fa.cshtml
│ │ │ ├── LoginWith2fa.cshtml.cs
│ │ │ ├── LoginWithRecoveryCode.cshtml
│ │ │ ├── LoginWithRecoveryCode.cshtml.cs
│ │ │ ├── Manage
│ │ │ │ ├── ChangePassword.cshtml
│ │ │ │ ├── ChangePassword.cshtml.cs
│ │ │ │ ├── Disable2fa.cshtml
│ │ │ │ ├── Disable2fa.cshtml.cs
│ │ │ │ ├── EnableAuthenticator.cshtml
│ │ │ │ ├── EnableAuthenticator.cshtml.cs
│ │ │ │ ├── ExternalLogins.cshtml
│ │ │ │ ├── ExternalLogins.cshtml.cs
│ │ │ │ ├── GenerateRecoveryCodes.cshtml
│ │ │ │ ├── GenerateRecoveryCodes.cshtml.cs
│ │ │ │ ├── Index.cshtml
│ │ │ │ ├── Index.cshtml.cs
│ │ │ │ ├── ManageNavPages.cs
│ │ │ │ ├── ResetAuthenticator.cshtml
│ │ │ │ ├── ResetAuthenticator.cshtml.cs
│ │ │ │ ├── SetPassword.cshtml
│ │ │ │ ├── SetPassword.cshtml.cs
│ │ │ │ ├── ShowRecoveryCodes.cshtml
│ │ │ │ ├── ShowRecoveryCodes.cshtml.cs
│ │ │ │ ├── TwoFactorAuthentication.cshtml
│ │ │ │ ├── TwoFactorAuthentication.cshtml.cs
│ │ │ │ ├── _Layout.cshtml
│ │ │ │ ├── _ManageNav.cshtml
│ │ │ │ ├── _StatusMessage.cshtml
│ │ │ │ └── _ViewImports.cshtml
│ │ │ ├── Register.cshtml
│ │ │ ├── Register.cshtml.cs
│ │ │ ├── ResetPassword.cshtml
│ │ │ ├── ResetPassword.cshtml.cs
│ │ │ ├── ResetPasswordConfirmation.cshtml
│ │ │ ├── ResetPasswordConfirmation.cshtml.cs
│ │ │ ├── SignedOut.cshtml
│ │ │ ├── SignedOut.cshtml.cs
│ │ │ └── _ViewImports.cshtml
│ │ ├── Contact.cshtml
│ │ ├── Contact.cshtml.cs
│ │ ├── Error.cshtml
│ │ ├── Error.cshtml.cs
│ │ ├── Index.cshtml
│ │ ├── Index.cshtml.cs
│ │ ├── _Layout.cshtml
│ │ ├── _LoginPartial.cshtml
│ │ ├── _ValidationScriptsPartial.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── Quickstart
│ │ ├── Account
│ │ │ ├── AccountController.cs
│ │ │ ├── AccountOptions.cs
│ │ │ ├── ExternalProvider.cs
│ │ │ ├── LoggedOutViewModel.cs
│ │ │ ├── LoginInputModel.cs
│ │ │ ├── LoginViewModel.cs
│ │ │ ├── LogoutInputModel.cs
│ │ │ └── LogoutViewModel.cs
│ │ ├── Consent
│ │ │ ├── ConsentController.cs
│ │ │ ├── ConsentInputModel.cs
│ │ │ ├── ConsentOptions.cs
│ │ │ ├── ConsentViewModel.cs
│ │ │ ├── ProcessConsentResult.cs
│ │ │ └── ScopeViewModel.cs
│ │ ├── Diagnostics
│ │ │ ├── DiagnosticsController.cs
│ │ │ └── DiagnosticsViewModel.cs
│ │ ├── Grants
│ │ │ ├── GrantsController.cs
│ │ │ └── GrantsViewModel.cs
│ │ ├── Home
│ │ │ ├── ErrorViewModel.cs
│ │ │ └── HomeController.cs
│ │ ├── SecurityHeadersAttribute.cs
│ │ └── TestUsers.cs
│ ├── Services
│ │ ├── EmailSender.cs
│ │ └── IEmailSender.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Account
│ │ │ ├── LoggedOut.cshtml
│ │ │ ├── Login.cshtml
│ │ │ └── Logout.cshtml
│ │ ├── Consent
│ │ │ ├── Index.cshtml
│ │ │ └── _ScopeListItem.cshtml
│ │ ├── Diagnostics
│ │ │ └── Index.cshtml
│ │ ├── Grants
│ │ │ └── Index.cshtml
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ ├── _Layout.cshtml
│ │ │ └── _ValidationSummary.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── AuthorizationServer.deps.json
│ │ │ ├── AuthorizationServer.dll
│ │ │ ├── AuthorizationServer.pdb
│ │ │ ├── AuthorizationServer.runtimeconfig.dev.json
│ │ │ └── AuthorizationServer.runtimeconfig.json
│ ├── bundleconfig.json
│ ├── obj
│ │ ├── AuthorizationServer.csproj.EntityFrameworkCore.targets
│ │ ├── AuthorizationServer.csproj.nuget.cache
│ │ ├── AuthorizationServer.csproj.nuget.dgspec.json
│ │ ├── AuthorizationServer.csproj.nuget.g.props
│ │ ├── AuthorizationServer.csproj.nuget.g.targets
│ │ ├── Debug
│ │ │ └── netcoreapp2.0
│ │ │ │ ├── AuthorizationServer.AssemblyInfo.cs
│ │ │ │ ├── AuthorizationServer.AssemblyInfoInputs.cache
│ │ │ │ ├── AuthorizationServer.assets.cache
│ │ │ │ ├── AuthorizationServer.csproj.CoreCompileInputs.cache
│ │ │ │ ├── AuthorizationServer.csproj.FileListAbsolute.txt
│ │ │ │ ├── AuthorizationServer.csprojAssemblyReference.cache
│ │ │ │ ├── AuthorizationServer.dll
│ │ │ │ ├── AuthorizationServer.pdb
│ │ │ │ └── UserSecretsAssemblyInfo.cs
│ │ └── project.assets.json
│ ├── tempkey.rsa
│ └── wwwroot
│ │ ├── css
│ │ ├── site.css
│ │ ├── site.less
│ │ └── site.min.css
│ │ ├── favicon.ico
│ │ ├── icon.jpg
│ │ ├── icon.png
│ │ ├── images
│ │ ├── banner1.svg
│ │ ├── banner2.svg
│ │ ├── banner3.svg
│ │ └── banner4.svg
│ │ ├── js
│ │ ├── signout-redirect.js
│ │ ├── site.js
│ │ └── site.min.js
│ │ └── lib
│ │ ├── bootstrap
│ │ ├── .bower.json
│ │ ├── LICENSE
│ │ ├── css
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ └── bootstrap.min.css
│ │ ├── dist
│ │ │ ├── css
│ │ │ │ ├── bootstrap-theme.css
│ │ │ │ ├── bootstrap-theme.css.map
│ │ │ │ ├── bootstrap-theme.min.css.map
│ │ │ │ ├── bootstrap.css
│ │ │ │ ├── bootstrap.css.map
│ │ │ │ └── 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
│ │ │ │ └── npm.js
│ │ ├── 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
│ │ ├── jquery-validation-unobtrusive
│ │ ├── .bower.json
│ │ ├── jquery.validate.unobtrusive.js
│ │ └── jquery.validate.unobtrusive.min.js
│ │ ├── jquery-validation
│ │ ├── .bower.json
│ │ ├── LICENSE.md
│ │ └── dist
│ │ │ ├── additional-methods.js
│ │ │ └── jquery.validate.js
│ │ └── jquery
│ │ ├── .bower.json
│ │ ├── LICENSE.txt
│ │ ├── dist
│ │ ├── jquery.js
│ │ └── jquery.min.map
│ │ ├── jquery.js
│ │ ├── jquery.min.js
│ │ └── jquery.min.map
├── ClientApp
│ ├── .gitignore
│ ├── ClientApp.csproj
│ ├── ClientApp
│ │ ├── app
│ │ │ ├── app.browser.module.ts
│ │ │ ├── app.server.module.ts
│ │ │ ├── app.shared.module.ts
│ │ │ └── components
│ │ │ │ ├── app
│ │ │ │ ├── app.component.css
│ │ │ │ ├── app.component.html
│ │ │ │ └── app.component.ts
│ │ │ │ ├── counter
│ │ │ │ ├── counter.component.html
│ │ │ │ ├── counter.component.spec.ts
│ │ │ │ └── counter.component.ts
│ │ │ │ ├── fetchdata
│ │ │ │ ├── fetchdata.component.html
│ │ │ │ └── fetchdata.component.ts
│ │ │ │ ├── home
│ │ │ │ ├── home.component.html
│ │ │ │ └── home.component.ts
│ │ │ │ └── navmenu
│ │ │ │ ├── navmenu.component.css
│ │ │ │ ├── navmenu.component.html
│ │ │ │ └── navmenu.component.ts
│ │ ├── boot.browser.ts
│ │ ├── boot.server.ts
│ │ └── test
│ │ │ ├── boot-tests.ts
│ │ │ └── karma.conf.js
│ ├── Controllers
│ │ ├── HomeController.cs
│ │ ├── IdentityController.cs
│ │ └── SampleDataController.cs
│ ├── Models
│ │ └── UserClaimsVM.cs
│ ├── Program.cs
│ ├── Startup.cs
│ ├── Views
│ │ ├── Home
│ │ │ └── Index.cshtml
│ │ ├── Identity
│ │ │ └── Index.cshtml
│ │ ├── Shared
│ │ │ ├── Error.cshtml
│ │ │ └── _Layout.cshtml
│ │ ├── _ViewImports.cshtml
│ │ └── _ViewStart.cshtml
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── npm-shrinkwrap.json
│ ├── package.json
│ ├── tsconfig.json
│ ├── webpack.config.js
│ ├── webpack.config.vendor.js
│ └── wwwroot
│ │ └── favicon.ico
├── README.md
├── ResourceApi
│ ├── Controllers
│ │ ├── IdentityController.cs
│ │ └── ValuesController.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── ResourceApi.csproj
│ ├── ResourceApi.csproj.user
│ ├── Startup.cs
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── bin
│ │ └── Debug
│ │ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.deps.json
│ │ │ ├── ResourceApi.dll
│ │ │ ├── ResourceApi.pdb
│ │ │ ├── ResourceApi.runtimeconfig.dev.json
│ │ │ └── ResourceApi.runtimeconfig.json
│ └── obj
│ │ ├── Debug
│ │ └── netcoreapp2.0
│ │ │ ├── ResourceApi.AssemblyInfo.cs
│ │ │ ├── ResourceApi.AssemblyInfoInputs.cache
│ │ │ ├── ResourceApi.assets.cache
│ │ │ ├── ResourceApi.csproj.CoreCompileInputs.cache
│ │ │ ├── ResourceApi.csproj.FileListAbsolute.txt
│ │ │ ├── ResourceApi.csprojAssemblyReference.cache
│ │ │ ├── ResourceApi.dll
│ │ │ └── ResourceApi.pdb
│ │ ├── ResourceApi.csproj.nuget.cache
│ │ ├── ResourceApi.csproj.nuget.dgspec.json
│ │ ├── ResourceApi.csproj.nuget.g.props
│ │ ├── ResourceApi.csproj.nuget.g.targets
│ │ └── project.assets.json
├── Screenshots
│ └── calling-identity.PNG
└── oidc-angular-identityserver.sln
└── Solution 6 - OIDC and Angular client
├── .DS_Store
├── .gitignore
├── .vs
├── config
│ └── applicationhost.config
└── oidc-angular-identityserver
│ ├── v15
│ ├── .suo
│ └── Server
│ │ └── sqlite3
│ │ ├── db.lock
│ │ ├── storage.ide
│ │ ├── storage.ide-shm
│ │ └── storage.ide-wal
│ └── xs
│ ├── UserPrefs.xml
│ └── sqlite3
│ ├── db.lock
│ ├── storage.ide
│ ├── storage.ide-shm
│ └── storage.ide-wal
├── AuthorizationServer
├── .gitignore
├── AuthorizationServer.csproj
├── AuthorizationServer.csproj.user
├── Config.cs
├── Controllers
│ └── AccountController.cs
├── Data
│ ├── ApplicationDbContext.cs
│ ├── ApplicationUser.cs
│ ├── Migrations
│ │ ├── 00000000000000_CreateIdentitySchema.Designer.cs
│ │ ├── 00000000000000_CreateIdentitySchema.cs
│ │ ├── ApplicationDbContextModelSnapshot.cs
│ │ └── IdentityServer
│ │ │ ├── Configuration
│ │ │ ├── 20180328175934_InitConfigration.Designer.cs
│ │ │ ├── 20180328175934_InitConfigration.cs
│ │ │ └── ConfigurationDbContextModelSnapshot.cs
│ │ │ └── PersistedGrant
│ │ │ ├── 20180328175949_InitPersistedGrant.Designer.cs
│ │ │ ├── 20180328175949_InitPersistedGrant.cs
│ │ │ └── PersistedGrantDbContextModelSnapshot.cs
│ └── SeedData.cs
├── Extensions
│ ├── EmailSenderExtensions.cs
│ └── UrlHelperExtensions.cs
├── Pages
│ ├── About.cshtml
│ ├── About.cshtml.cs
│ ├── Account
│ │ ├── AccessDenied.cshtml
│ │ ├── AccessDenied.cshtml.cs
│ │ ├── ConfirmEmail.cshtml
│ │ ├── ConfirmEmail.cshtml.cs
│ │ ├── ExternalLogin.cshtml
│ │ ├── ExternalLogin.cshtml.cs
│ │ ├── ForgotPassword.cshtml
│ │ ├── ForgotPassword.cshtml.cs
│ │ ├── ForgotPasswordConfirmation.cshtml
│ │ ├── ForgotPasswordConfirmation.cshtml.cs
│ │ ├── Lockout.cshtml
│ │ ├── Lockout.cshtml.cs
│ │ ├── Login.cshtml
│ │ ├── Login.cshtml.cs
│ │ ├── LoginWith2fa.cshtml
│ │ ├── LoginWith2fa.cshtml.cs
│ │ ├── LoginWithRecoveryCode.cshtml
│ │ ├── LoginWithRecoveryCode.cshtml.cs
│ │ ├── Manage
│ │ │ ├── ChangePassword.cshtml
│ │ │ ├── ChangePassword.cshtml.cs
│ │ │ ├── Disable2fa.cshtml
│ │ │ ├── Disable2fa.cshtml.cs
│ │ │ ├── EnableAuthenticator.cshtml
│ │ │ ├── EnableAuthenticator.cshtml.cs
│ │ │ ├── ExternalLogins.cshtml
│ │ │ ├── ExternalLogins.cshtml.cs
│ │ │ ├── GenerateRecoveryCodes.cshtml
│ │ │ ├── GenerateRecoveryCodes.cshtml.cs
│ │ │ ├── Index.cshtml
│ │ │ ├── Index.cshtml.cs
│ │ │ ├── ManageNavPages.cs
│ │ │ ├── ResetAuthenticator.cshtml
│ │ │ ├── ResetAuthenticator.cshtml.cs
│ │ │ ├── SetPassword.cshtml
│ │ │ ├── SetPassword.cshtml.cs
│ │ │ ├── ShowRecoveryCodes.cshtml
│ │ │ ├── ShowRecoveryCodes.cshtml.cs
│ │ │ ├── TwoFactorAuthentication.cshtml
│ │ │ ├── TwoFactorAuthentication.cshtml.cs
│ │ │ ├── _Layout.cshtml
│ │ │ ├── _ManageNav.cshtml
│ │ │ ├── _StatusMessage.cshtml
│ │ │ └── _ViewImports.cshtml
│ │ ├── Register.cshtml
│ │ ├── Register.cshtml.cs
│ │ ├── ResetPassword.cshtml
│ │ ├── ResetPassword.cshtml.cs
│ │ ├── ResetPasswordConfirmation.cshtml
│ │ ├── ResetPasswordConfirmation.cshtml.cs
│ │ ├── SignedOut.cshtml
│ │ ├── SignedOut.cshtml.cs
│ │ └── _ViewImports.cshtml
│ ├── Contact.cshtml
│ ├── Contact.cshtml.cs
│ ├── Error.cshtml
│ ├── Error.cshtml.cs
│ ├── Index.cshtml
│ ├── Index.cshtml.cs
│ ├── _Layout.cshtml
│ ├── _LoginPartial.cshtml
│ ├── _ValidationScriptsPartial.cshtml
│ ├── _ViewImports.cshtml
│ └── _ViewStart.cshtml
├── Program.cs
├── Properties
│ └── launchSettings.json
├── Quickstart
│ ├── Account
│ │ ├── AccountController.cs
│ │ ├── AccountOptions.cs
│ │ ├── ExternalProvider.cs
│ │ ├── LoggedOutViewModel.cs
│ │ ├── LoginInputModel.cs
│ │ ├── LoginViewModel.cs
│ │ ├── LogoutInputModel.cs
│ │ └── LogoutViewModel.cs
│ ├── Consent
│ │ ├── ConsentController.cs
│ │ ├── ConsentInputModel.cs
│ │ ├── ConsentOptions.cs
│ │ ├── ConsentViewModel.cs
│ │ ├── ProcessConsentResult.cs
│ │ └── ScopeViewModel.cs
│ ├── Diagnostics
│ │ ├── DiagnosticsController.cs
│ │ └── DiagnosticsViewModel.cs
│ ├── Grants
│ │ ├── GrantsController.cs
│ │ └── GrantsViewModel.cs
│ ├── Home
│ │ ├── ErrorViewModel.cs
│ │ └── HomeController.cs
│ ├── SecurityHeadersAttribute.cs
│ └── TestUsers.cs
├── Services
│ ├── EmailSender.cs
│ └── IEmailSender.cs
├── Startup.cs
├── Views
│ ├── Account
│ │ ├── LoggedOut.cshtml
│ │ ├── Login.cshtml
│ │ └── Logout.cshtml
│ ├── Consent
│ │ ├── Index.cshtml
│ │ └── _ScopeListItem.cshtml
│ ├── Diagnostics
│ │ └── Index.cshtml
│ ├── Grants
│ │ └── Index.cshtml
│ ├── Home
│ │ └── Index.cshtml
│ ├── Shared
│ │ ├── Error.cshtml
│ │ ├── _Layout.cshtml
│ │ └── _ValidationSummary.cshtml
│ ├── _ViewImports.cshtml
│ └── _ViewStart.cshtml
├── appsettings.Development.json
├── appsettings.json
├── bundleconfig.json
├── obj
│ ├── AuthorizationServer.csproj.EntityFrameworkCore.targets
│ ├── AuthorizationServer.csproj.nuget.cache
│ ├── AuthorizationServer.csproj.nuget.g.props
│ ├── AuthorizationServer.csproj.nuget.g.targets
│ ├── Debug
│ │ └── netcoreapp2.0
│ │ │ ├── AuthorizationServer.AssemblyInfo.cs
│ │ │ ├── AuthorizationServer.AssemblyInfoInputs.cache
│ │ │ ├── AuthorizationServer.assets.cache
│ │ │ ├── AuthorizationServer.csproj.CoreCompileInputs.cache
│ │ │ ├── AuthorizationServer.csproj.FileListAbsolute.txt
│ │ │ └── AuthorizationServer.csprojAssemblyReference.cache
│ └── project.assets.json
├── tempkey.rsa
└── wwwroot
│ ├── css
│ ├── site.css
│ ├── site.less
│ └── site.min.css
│ ├── favicon.ico
│ ├── icon.jpg
│ ├── icon.png
│ ├── images
│ ├── banner1.svg
│ ├── banner2.svg
│ ├── banner3.svg
│ └── banner4.svg
│ ├── js
│ ├── signout-redirect.js
│ ├── site.js
│ └── site.min.js
│ └── lib
│ ├── bootstrap
│ ├── .bower.json
│ ├── LICENSE
│ ├── css
│ │ ├── bootstrap.css
│ │ ├── bootstrap.css.map
│ │ └── bootstrap.min.css
│ ├── dist
│ │ ├── css
│ │ │ ├── bootstrap-theme.css
│ │ │ ├── bootstrap-theme.css.map
│ │ │ ├── bootstrap-theme.min.css.map
│ │ │ ├── bootstrap.css
│ │ │ ├── bootstrap.css.map
│ │ │ └── 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
│ │ │ └── npm.js
│ ├── 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
│ ├── jquery-validation-unobtrusive
│ ├── .bower.json
│ ├── jquery.validate.unobtrusive.js
│ └── jquery.validate.unobtrusive.min.js
│ ├── jquery-validation
│ ├── .bower.json
│ ├── LICENSE.md
│ └── dist
│ │ ├── additional-methods.js
│ │ └── jquery.validate.js
│ └── jquery
│ ├── .bower.json
│ ├── LICENSE.txt
│ ├── dist
│ ├── jquery.js
│ └── jquery.min.map
│ ├── jquery.js
│ ├── jquery.min.js
│ └── jquery.min.map
├── ClientApp
├── .gitignore
├── ClientApp.csproj
├── ClientApp
│ ├── .editorconfig
│ ├── .gitignore
│ ├── README.md
│ ├── angular.json
│ ├── browserslist
│ ├── e2e
│ │ ├── protractor.conf.js
│ │ ├── src
│ │ │ ├── app.e2e-spec.ts
│ │ │ └── app.po.ts
│ │ └── tsconfig.json
│ ├── karma.conf.js
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── app.component.html
│ │ │ ├── app.component.scss
│ │ │ ├── app.component.spec.ts
│ │ │ ├── app.component.ts
│ │ │ ├── app.module.ts
│ │ │ ├── core
│ │ │ │ ├── auth
│ │ │ │ │ └── auth.service.ts
│ │ │ │ └── core.module.ts
│ │ │ ├── counter
│ │ │ │ ├── counter.component.html
│ │ │ │ ├── counter.component.spec.ts
│ │ │ │ └── counter.component.ts
│ │ │ ├── fetch-data
│ │ │ │ ├── fetch-data.component.html
│ │ │ │ └── fetch-data.component.ts
│ │ │ ├── home
│ │ │ │ ├── home.component.html
│ │ │ │ └── home.component.ts
│ │ │ ├── nav-menu
│ │ │ │ ├── nav-menu.component.html
│ │ │ │ ├── nav-menu.component.scss
│ │ │ │ └── nav-menu.component.ts
│ │ │ └── unauthorized
│ │ │ │ ├── unauthorized.component.html
│ │ │ │ └── unauthorized.component.ts
│ │ ├── assets
│ │ │ └── .gitkeep
│ │ ├── environments
│ │ │ ├── environment.prod.ts
│ │ │ └── environment.ts
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── main.ts
│ │ ├── polyfills.ts
│ │ ├── styles.scss
│ │ └── test.ts
│ ├── tsconfig.app.json
│ ├── tsconfig.json
│ ├── tsconfig.spec.json
│ ├── tslint.json
│ └── yarn.lock
├── Controllers
│ └── SampleDataController.cs
├── Pages
│ ├── Error.cshtml
│ ├── Error.cshtml.cs
│ └── _ViewImports.cshtml
├── Program.cs
├── Properties
│ └── launchSettings.json
├── Startup.cs
├── appsettings.Development.json
├── appsettings.json
└── wwwroot
│ ├── favicon.ico
│ └── silent-renew.html
├── README.md
├── ResourceApi
├── .gitignore
├── Controllers
│ ├── IdentityController.cs
│ ├── SampleDataController.cs
│ └── ValuesController.cs
├── Program.cs
├── Properties
│ └── launchSettings.json
├── ResourceApi.csproj
├── ResourceApi.csproj.user
├── Startup.cs
├── appsettings.Development.json
├── appsettings.json
├── bin
│ └── Debug
│ │ └── netcoreapp2.0
│ │ ├── ResourceApi.deps.json
│ │ ├── ResourceApi.dll
│ │ ├── ResourceApi.pdb
│ │ ├── ResourceApi.runtimeconfig.dev.json
│ │ └── ResourceApi.runtimeconfig.json
└── obj
│ ├── Debug
│ └── netcoreapp2.0
│ │ ├── ResourceApi.AssemblyInfo.cs
│ │ ├── ResourceApi.AssemblyInfoInputs.cache
│ │ ├── ResourceApi.assets.cache
│ │ ├── ResourceApi.csproj.CoreCompileInputs.cache
│ │ ├── ResourceApi.csproj.FileListAbsolute.txt
│ │ ├── ResourceApi.csprojAssemblyReference.cache
│ │ ├── ResourceApi.dll
│ │ └── ResourceApi.pdb
│ ├── ResourceApi.csproj.nuget.cache
│ ├── ResourceApi.csproj.nuget.dgspec.json
│ ├── ResourceApi.csproj.nuget.g.props
│ ├── ResourceApi.csproj.nuget.g.targets
│ └── project.assets.json
├── Screenshots
└── calling-identity.PNG
└── oidc-angular-identityserver.sln
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/.DS_Store
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ################################################################################
2 | # This .gitignore file was automatically created by Microsoft(R) Visual Studio.
3 | ################################################################################
4 |
5 | /Solution 6 - OIDC and Angular client/ClientApp/ClientApp/node_modules
6 | /Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v16
7 | /Solution 6 - OIDC and Angular client/.vs/
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "2.0.0",
3 | "tasks": [
4 | {
5 | "label": "build",
6 | "command": "dotnet",
7 | "type": "process",
8 | "args": [
9 | "build",
10 | "${workspaceFolder}/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/AuthorizationServer.csproj"
11 | ],
12 | "problemMatcher": "$msCompile"
13 | }
14 | ]
15 | }
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/.vs/oidc-angular-identityserver/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/.vs/oidc-angular-identityserver/v15/.suo
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/AuthorizationServer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.0
5 | ..\docker-compose.dcproj
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/AuthorizationServer.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectDebugger
5 |
6 |
7 | AuthorizationServer
8 |
9 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/AuthorizationServer.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "hw3nbCqdDhsVPhfQdlTHAQRuw6UA7V+MaqWsBm9TM/CU6H2V19yViyklAMUgqtWU3VUyB2b5I+yWtinxn2aO1A==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | 03d8905e47f9ffeb7fe6a21a40df8595cd917dfe
2 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | f7aad9260479ca75342885ab504f6a71635a2f8d
2 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Docker/AppType.cache:
--------------------------------------------------------------------------------
1 | AspNetCore
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Docker/CanonicalServiceName.cache:
--------------------------------------------------------------------------------
1 | authorizationserver
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Docker/ProjectReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Docker/ProjectReferences.cache
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Docker/RelativeOutputAssemblyPath.Fast.cache:
--------------------------------------------------------------------------------
1 | bin\Debug\netcoreapp2.0\AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Docker/RelativeOutputAssemblyPath.Regular.cache:
--------------------------------------------------------------------------------
1 | AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/AuthorizationServer/obj/Docker/TargetFramework.cache:
--------------------------------------------------------------------------------
1 | DotNetCore
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/ClientApp/app/app.server.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { ServerModule } from '@angular/platform-server';
3 | import { AppModuleShared } from './app.shared.module';
4 | import { AppComponent } from './components/app/app.component';
5 |
6 | @NgModule({
7 | bootstrap: [ AppComponent ],
8 | imports: [
9 | ServerModule,
10 | AppModuleShared
11 | ]
12 | })
13 | export class AppModule {
14 | }
15 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/ClientApp/app/components/app/app.component.css:
--------------------------------------------------------------------------------
1 | @media (max-width: 767px) {
2 | /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */
3 | .body-content {
4 | padding-top: 50px;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/ClientApp/app/components/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/ClientApp/app/components/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/ClientApp/app/components/counter/counter.component.html:
--------------------------------------------------------------------------------
1 | Counter
2 |
3 | This is a simple example of an Angular component.
4 |
5 | Current count: {{ currentCount }}
6 |
7 | Increment
8 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/ClientApp/app/components/counter/counter.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'counter',
5 | templateUrl: './counter.component.html'
6 | })
7 | export class CounterComponent {
8 | public currentCount = 0;
9 |
10 | public incrementCounter() {
11 | this.currentCount++;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/ClientApp/app/components/home/home.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'home',
5 | templateUrl: './home.component.html'
6 | })
7 | export class HomeComponent {
8 | }
9 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/ClientApp/app/components/navmenu/navmenu.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'nav-menu',
5 | templateUrl: './navmenu.component.html',
6 | styleUrls: ['./navmenu.component.css']
7 | })
8 | export class NavMenuComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Home Page";
3 | }
4 |
5 | Loading...
6 |
7 |
8 | @section scripts {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | @ViewData["Title"] - ClientApp
7 |
8 |
9 |
10 |
11 |
12 | @RenderBody()
13 |
14 | @RenderSection("scripts", required: false)
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using ClientApp
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | @addTagHelper *, Microsoft.AspNetCore.SpaServices
4 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ClientApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/ClientApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/README.md:
--------------------------------------------------------------------------------
1 | # Setting up the OIDC system with IdentityServer4, MVC client and ASP.NET API using client credentials
2 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/Controllers/IdentityController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Microsoft.AspNetCore.Authorization;
4 | using Microsoft.AspNetCore.Mvc;
5 |
6 | namespace ResourceApi.Controllers
7 | {
8 | [Route("[controller]")]
9 | [Authorize]
10 | public class IdentityController : ControllerBase
11 | {
12 | [HttpGet]
13 | public IActionResult Get()
14 | {
15 | return new JsonResult(from c in User.Claims select new { c.Type, c.Value });
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | e740417de511f9b7d92a07f01beb8b5792cf12b8
2 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.assets.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.assets.cache
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 2226bd249317e91a5e5e67027bdecf0455b58e38
2 |
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/ResourceApi/obj/ResourceApi.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "YvkwX/tUPgi1WP6H9aVT6UNqhinSLMBY0elIksVPLNvf7ytbtDpJaL2LDrV5YlUSrQiJdzHUzW5bzqRoRCaEyw==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 1 - Setup OIDC system with client credentials/Screenshots/calling-identity.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 1 - Setup OIDC system with client credentials/Screenshots/calling-identity.PNG
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/.vs/oidc-angular-identityserver/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/.vs/oidc-angular-identityserver/v15/.suo
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/AuthorizationServer.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectDebugger
5 |
6 |
7 | AuthorizationServer
8 |
9 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/Quickstart/Account/ExternalProvider.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class ExternalProvider
8 | {
9 | public string DisplayName { get; set; }
10 | public string AuthenticationScheme { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/Quickstart/Account/LogoutInputModel.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutInputModel
8 | {
9 | public string LogoutId { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/Quickstart/Account/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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutViewModel : LogoutInputModel
8 | {
9 | public bool ShowLogoutPrompt { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/Quickstart/Home/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 IdentityServer4.Quickstart.UI
8 | {
9 | public class ErrorViewModel
10 | {
11 | public ErrorMessage Error { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/Views/Shared/_ValidationSummary.cshtml:
--------------------------------------------------------------------------------
1 | @if (ViewContext.ModelState.IsValid == false)
2 | {
3 |
7 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using IdentityServer4.Quickstart.UI
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/AuthorizationServer.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "/y8r4Jjg8bLixGBZvbYgRHbZE92jBVJttOnDIM/wttv2D5mFFE/yrm0M4h2erwvyo9nNiDjI4S5fZ1GX5ATfVA==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | 03d8905e47f9ffeb7fe6a21a40df8595cd917dfe
2 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | e1c79c5ad7f1ff4e34a5adc6c872e48d21564ce6
2 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Docker/AppType.cache:
--------------------------------------------------------------------------------
1 | AspNetCore
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Docker/CanonicalServiceName.cache:
--------------------------------------------------------------------------------
1 | authorizationserver
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Docker/ProjectReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Docker/ProjectReferences.cache
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Docker/RelativeOutputAssemblyPath.Fast.cache:
--------------------------------------------------------------------------------
1 | bin\Debug\netcoreapp2.0\AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Docker/RelativeOutputAssemblyPath.Regular.cache:
--------------------------------------------------------------------------------
1 | AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/obj/Docker/TargetFramework.cache:
--------------------------------------------------------------------------------
1 | DotNetCore
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/icon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/icon.jpg
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/icon.png
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/js/signout-redirect.js:
--------------------------------------------------------------------------------
1 | window.addEventListener("load", function () {
2 | var a = document.querySelector("a.PostLogoutRedirectUri");
3 | if (a) {
4 | window.location = a.href;
5 | }
6 | });
7 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/ClientApp/app/app.server.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { ServerModule } from '@angular/platform-server';
3 | import { AppModuleShared } from './app.shared.module';
4 | import { AppComponent } from './components/app/app.component';
5 |
6 | @NgModule({
7 | bootstrap: [ AppComponent ],
8 | imports: [
9 | ServerModule,
10 | AppModuleShared
11 | ]
12 | })
13 | export class AppModule {
14 | }
15 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/ClientApp/app/components/app/app.component.css:
--------------------------------------------------------------------------------
1 | @media (max-width: 767px) {
2 | /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */
3 | .body-content {
4 | padding-top: 50px;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/ClientApp/app/components/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/ClientApp/app/components/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/ClientApp/app/components/counter/counter.component.html:
--------------------------------------------------------------------------------
1 | Counter
2 |
3 | This is a simple example of an Angular component.
4 |
5 | Current count: {{ currentCount }}
6 |
7 | Increment
8 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/ClientApp/app/components/counter/counter.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'counter',
5 | templateUrl: './counter.component.html'
6 | })
7 | export class CounterComponent {
8 | public currentCount = 0;
9 |
10 | public incrementCounter() {
11 | this.currentCount++;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/ClientApp/app/components/home/home.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'home',
5 | templateUrl: './home.component.html'
6 | })
7 | export class HomeComponent {
8 | }
9 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/ClientApp/app/components/navmenu/navmenu.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'nav-menu',
5 | templateUrl: './navmenu.component.html',
6 | styleUrls: ['./navmenu.component.css']
7 | })
8 | export class NavMenuComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/Models/UserClaimsVM.cs:
--------------------------------------------------------------------------------
1 | namespace ClientApp.Models
2 | {
3 | public class UserClaimsVM
4 | {
5 | public string UserClaimsWithClientCredentials { get; set; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Home Page";
3 | }
4 |
5 | Loading...
6 |
7 |
8 | @section scripts {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | @ViewData["Title"] - ClientApp
7 |
8 |
9 |
10 |
11 |
12 | @RenderBody()
13 |
14 | @RenderSection("scripts", required: false)
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using ClientApp
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | @addTagHelper *, Microsoft.AspNetCore.SpaServices
4 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/ClientApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/README.md:
--------------------------------------------------------------------------------
1 | # OIDC setup with interactive login
2 | Adding interactive login to our app and using authorization code flow with a mvc client.
3 |
4 | Authorization server:
5 | Added new client with authorization code grant and identity resources.
6 |
7 | Client:
8 | Setup authentication with OIDC middleware and cookies
9 | Created IdentityController for displaying user claims for authorized users
10 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/Controllers/IdentityController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Microsoft.AspNetCore.Authorization;
4 | using Microsoft.AspNetCore.Mvc;
5 |
6 | namespace ResourceApi.Controllers
7 | {
8 | [Route("api/[controller]")]
9 | [Authorize]
10 | public class IdentityController : ControllerBase
11 | {
12 | [HttpGet]
13 | public IActionResult Get()
14 | {
15 | return new JsonResult(from c in User.Claims select new { c.Type, c.Value });
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | e740417de511f9b7d92a07f01beb8b5792cf12b8
2 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | bc23f8f2ed45b0205427fe385e5685d636f72531
2 |
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/ResourceApi/obj/ResourceApi.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "S3Q7VL7LQ2BqPOidRfh9gUnlxAU0M1xjRd4dQAk9oRjduR8Y/j5YAy54dKNVgNhEm4Ql1JER8S8+YCO65LU8cg==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/Screenshots/calling-identity.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/Screenshots/calling-identity.PNG
--------------------------------------------------------------------------------
/Solution 2 - OIDC with interactive login and authentication code flow/Screenshots/identity-view-authcode.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 2 - OIDC with interactive login and authentication code flow/Screenshots/identity-view-authcode.PNG
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/.vs/oidc-angular-identityserver/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/.vs/oidc-angular-identityserver/v15/.suo
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/AuthorizationServer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | netcoreapp2.0
5 | ..\docker-compose.dcproj
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/AuthorizationServer.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectDebugger
5 |
6 |
7 | AuthorizationServer
8 |
9 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace AuthorizationServer
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | BuildWebHost(args).Run();
11 | }
12 |
13 | public static IWebHost BuildWebHost(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup()
16 | .Build();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/Quickstart/Account/ExternalProvider.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class ExternalProvider
8 | {
9 | public string DisplayName { get; set; }
10 | public string AuthenticationScheme { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/Quickstart/Account/LogoutInputModel.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutInputModel
8 | {
9 | public string LogoutId { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/Quickstart/Account/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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutViewModel : LogoutInputModel
8 | {
9 | public bool ShowLogoutPrompt { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/Quickstart/Home/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 IdentityServer4.Quickstart.UI
8 | {
9 | public class ErrorViewModel
10 | {
11 | public ErrorMessage Error { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/Views/Shared/_ValidationSummary.cshtml:
--------------------------------------------------------------------------------
1 | @if (ViewContext.ModelState.IsValid == false)
2 | {
3 |
7 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using IdentityServer4.Quickstart.UI
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/AuthorizationServer.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "X3bj5eGPpdLxAYYeuru3e1Q4SJJkVUUAnnpPEmPgpqBo6tieOlFA8vzGvD4cP6P2qjn/Mjpsz3Bxe6Vr7tJMWA==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | 03d8905e47f9ffeb7fe6a21a40df8595cd917dfe
2 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | e1c79c5ad7f1ff4e34a5adc6c872e48d21564ce6
2 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Docker/AppType.cache:
--------------------------------------------------------------------------------
1 | AspNetCore
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Docker/CanonicalServiceName.cache:
--------------------------------------------------------------------------------
1 | authorizationserver
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Docker/ProjectReferences.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Docker/ProjectReferences.cache
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Docker/RelativeOutputAssemblyPath.Fast.cache:
--------------------------------------------------------------------------------
1 | bin\Debug\netcoreapp2.0\AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Docker/RelativeOutputAssemblyPath.Regular.cache:
--------------------------------------------------------------------------------
1 | AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/obj/Docker/TargetFramework.cache:
--------------------------------------------------------------------------------
1 | DotNetCore
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/icon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/icon.jpg
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/icon.png
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/js/signout-redirect.js:
--------------------------------------------------------------------------------
1 | window.addEventListener("load", function () {
2 | var a = document.querySelector("a.PostLogoutRedirectUri");
3 | if (a) {
4 | window.location = a.href;
5 | }
6 | });
7 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/ClientApp/app/app.server.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { ServerModule } from '@angular/platform-server';
3 | import { AppModuleShared } from './app.shared.module';
4 | import { AppComponent } from './components/app/app.component';
5 |
6 | @NgModule({
7 | bootstrap: [ AppComponent ],
8 | imports: [
9 | ServerModule,
10 | AppModuleShared
11 | ]
12 | })
13 | export class AppModule {
14 | }
15 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/ClientApp/app/components/app/app.component.css:
--------------------------------------------------------------------------------
1 | @media (max-width: 767px) {
2 | /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */
3 | .body-content {
4 | padding-top: 50px;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/ClientApp/app/components/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/ClientApp/app/components/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/ClientApp/app/components/counter/counter.component.html:
--------------------------------------------------------------------------------
1 | Counter
2 |
3 | This is a simple example of an Angular component.
4 |
5 | Current count: {{ currentCount }}
6 |
7 | Increment
8 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/ClientApp/app/components/counter/counter.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'counter',
5 | templateUrl: './counter.component.html'
6 | })
7 | export class CounterComponent {
8 | public currentCount = 0;
9 |
10 | public incrementCounter() {
11 | this.currentCount++;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/ClientApp/app/components/home/home.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'home',
5 | templateUrl: './home.component.html'
6 | })
7 | export class HomeComponent {
8 | }
9 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/ClientApp/app/components/navmenu/navmenu.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'nav-menu',
5 | templateUrl: './navmenu.component.html',
6 | styleUrls: ['./navmenu.component.css']
7 | })
8 | export class NavMenuComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/Models/UserClaimsVM.cs:
--------------------------------------------------------------------------------
1 | namespace ClientApp.Models
2 | {
3 | public class UserClaimsVM
4 | {
5 | public string UserClaimsWithClientCredentials { get; set; }
6 | public string UserClaimsWithAccessToken { get; set; }
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Home Page";
3 | }
4 |
5 | Loading...
6 |
7 |
8 | @section scripts {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | @ViewData["Title"] - ClientApp
7 |
8 |
9 |
10 |
11 |
12 | @RenderBody()
13 |
14 | @RenderSection("scripts", required: false)
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using ClientApp
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | @addTagHelper *, Microsoft.AspNetCore.SpaServices
4 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/ClientApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/Controllers/IdentityController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Microsoft.AspNetCore.Authorization;
4 | using Microsoft.AspNetCore.Mvc;
5 |
6 | namespace ResourceApi.Controllers
7 | {
8 | [Route("api/[controller]")]
9 | [Authorize]
10 | public class IdentityController : ControllerBase
11 | {
12 | [HttpGet]
13 | public IActionResult Get()
14 | {
15 | return new JsonResult(from c in User.Claims select new { c.Type, c.Value });
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace ResourceApi
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | BuildWebHost(args).Run();
11 | }
12 |
13 | public static IWebHost BuildWebHost(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup()
16 | .Build();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | e740417de511f9b7d92a07f01beb8b5792cf12b8
2 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | bc23f8f2ed45b0205427fe385e5685d636f72531
2 |
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/ResourceApi/obj/ResourceApi.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "ihkrUT9viaWeN43If/hSIDxdHB8zjjWVGdYtZAptS91A72GNkuFsPjA/XQw4s30PN4PJXS1NyLeNpdjamwqopQ==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 3 - OIDC with Hybrid flow and call api/Screenshots/calling-identity.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 3 - OIDC with Hybrid flow and call api/Screenshots/calling-identity.PNG
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/.vs/oidc-angular-identityserver/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/.vs/oidc-angular-identityserver/v15/.suo
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/AuthorizationServer.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectDebugger
5 |
6 |
7 | AuthorizationServer
8 | true
9 |
10 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Data/ApplicationUser.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Identity;
6 |
7 | namespace AuthorizationServer.Data
8 | {
9 | // Add profile data for application users by adding properties to the ApplicationUser class
10 | public class ApplicationUser : IdentityUser
11 | {
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/About.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model AboutModel
3 | @{
4 | ViewData["Title"] = "About";
5 | }
6 | @ViewData["Title"]
7 | @Model.Message
8 |
9 | Use this area to provide additional information.
10 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/About.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages
8 | {
9 | public class AboutModel : PageModel
10 | {
11 | public string Message { get; set; }
12 |
13 | public void OnGet()
14 | {
15 | Message = "Your application description page.";
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/AccessDenied.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model AccessDeniedModel
3 | @{
4 | ViewData["Title"] = "Access denied";
5 | }
6 |
7 |
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/AccessDenied.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class AccessDeniedModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/ConfirmEmail.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ConfirmEmailModel
3 | @{
4 | ViewData["Title"] = "Confirm email";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 |
10 | Thank you for confirming your email.
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/ForgotPasswordConfirmation.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ForgotPasswordConfirmation
3 | @{
4 | ViewData["Title"] = "Forgot password confirmation";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | Please check your email to reset your password.
10 |
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/ForgotPasswordConfirmation.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class ForgotPasswordConfirmation : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/Lockout.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model LockoutModel
3 | @{
4 | ViewData["Title"] = "Locked out";
5 | }
6 |
7 |
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/Lockout.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class LockoutModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/Manage/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "/Pages/_Layout.cshtml";
3 | }
4 |
5 | Manage your account
6 |
7 |
8 |
Change your account settings
9 |
10 |
11 |
12 | @await Html.PartialAsync("_ManageNav")
13 |
14 |
15 | @RenderBody()
16 |
17 |
18 |
19 |
20 | @section Scripts {
21 | @RenderSection("Scripts", required: false)
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/Manage/_StatusMessage.cshtml:
--------------------------------------------------------------------------------
1 | @model string
2 |
3 | @if (!String.IsNullOrEmpty(Model))
4 | {
5 | var statusMessageClass = Model.StartsWith("Error") ? "danger" : "success";
6 |
7 | ×
8 | @Model
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/Manage/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using AuthorizationServer.Pages.Account.Manage
2 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/ResetPasswordConfirmation.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ResetPasswordConfirmationModel
3 | @{
4 | ViewData["Title"] = "Reset password confirmation";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | Your password has been reset. Please click here to log in .
10 |
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/ResetPasswordConfirmation.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class ResetPasswordConfirmationModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/SignedOut.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model SignedOutModel
3 | @{
4 | ViewData["Title"] = "Signed out";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | You have successfully signed out.
10 |
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/SignedOut.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc;
6 | using Microsoft.AspNetCore.Mvc.RazorPages;
7 |
8 | public class SignedOutModel : PageModel
9 | {
10 | public IActionResult OnGet()
11 | {
12 | if (User.Identity.IsAuthenticated)
13 | {
14 | // Redirect to home page if the user is authenticated.
15 | return RedirectToPage("/Index");
16 | }
17 |
18 | return Page();
19 | }
20 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Account/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using AuthorizationServer.Pages.Account
2 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Contact.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ContactModel
3 | @{
4 | ViewData["Title"] = "Contact";
5 | }
6 | @ViewData["Title"]
7 | @Model.Message
8 |
9 |
10 | One Microsoft Way
11 | Redmond, WA 98052-6399
12 | P:
13 | 425.555.0100
14 |
15 |
16 |
17 | Support: Support@example.com
18 | Marketing: Marketing@example.com
19 |
20 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Contact.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages
8 | {
9 | public class ContactModel : PageModel
10 | {
11 | public string Message { get; set; }
12 |
13 | public void OnGet()
14 | {
15 | Message = "Your contact page.";
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/Index.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc;
6 | using Microsoft.AspNetCore.Mvc.RazorPages;
7 |
8 | namespace AuthorizationServer.Pages
9 | {
10 | public class IndexModel : PageModel
11 | {
12 | public void OnGet()
13 | {
14 |
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Identity
2 | @using AuthorizationServer
3 | @using AuthorizationServer.Data
4 | @namespace AuthorizationServer.Pages
5 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
6 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Quickstart/Account/ExternalProvider.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class ExternalProvider
8 | {
9 | public string DisplayName { get; set; }
10 | public string AuthenticationScheme { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Quickstart/Account/LogoutInputModel.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutInputModel
8 | {
9 | public string LogoutId { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Quickstart/Account/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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutViewModel : LogoutInputModel
8 | {
9 | public bool ShowLogoutPrompt { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Quickstart/Home/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 IdentityServer4.Quickstart.UI
8 | {
9 | public class ErrorViewModel
10 | {
11 | public ErrorMessage Error { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Services/IEmailSender.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace AuthorizationServer.Services
7 | {
8 | public interface IEmailSender
9 | {
10 | Task SendEmailAsync(string email, string subject, string message);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Views/Shared/_ValidationSummary.cshtml:
--------------------------------------------------------------------------------
1 | @if (ViewContext.ModelState.IsValid == false)
2 | {
3 |
7 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using IdentityServer4.Quickstart.UI
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-AuthorizationServer-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | },
5 | "Logging": {
6 | "IncludeScopes": false,
7 | "LogLevel": {
8 | "Default": "Warning"
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/obj/AuthorizationServer.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "KDWt9E2UgNainAaj2W8VOk1w/7l2G3v82HaMnfiBM23gcUCdrB+BwWHJvk16KMOwMyxkxovEImx5pbbPBsH+LQ==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | 03d8905e47f9ffeb7fe6a21a40df8595cd917dfe
2 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 7b8e7e5ae07618d570f30b24c57185dd2f0e9c1c
2 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/icon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/icon.jpg
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/icon.png
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/js/signout-redirect.js:
--------------------------------------------------------------------------------
1 | window.addEventListener("load", function () {
2 | var a = document.querySelector("a.PostLogoutRedirectUri");
3 | if (a) {
4 | window.location = a.href;
5 | }
6 | });
7 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/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')
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/ClientApp/app/app.server.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { ServerModule } from '@angular/platform-server';
3 | import { AppModuleShared } from './app.shared.module';
4 | import { AppComponent } from './components/app/app.component';
5 |
6 | @NgModule({
7 | bootstrap: [ AppComponent ],
8 | imports: [
9 | ServerModule,
10 | AppModuleShared
11 | ]
12 | })
13 | export class AppModule {
14 | }
15 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/ClientApp/app/components/app/app.component.css:
--------------------------------------------------------------------------------
1 | @media (max-width: 767px) {
2 | /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */
3 | .body-content {
4 | padding-top: 50px;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/ClientApp/app/components/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/ClientApp/app/components/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/ClientApp/app/components/counter/counter.component.html:
--------------------------------------------------------------------------------
1 | Counter
2 |
3 | This is a simple example of an Angular component.
4 |
5 | Current count: {{ currentCount }}
6 |
7 | Increment
8 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/ClientApp/app/components/counter/counter.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'counter',
5 | templateUrl: './counter.component.html'
6 | })
7 | export class CounterComponent {
8 | public currentCount = 0;
9 |
10 | public incrementCounter() {
11 | this.currentCount++;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/ClientApp/app/components/home/home.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'home',
5 | templateUrl: './home.component.html'
6 | })
7 | export class HomeComponent {
8 | }
9 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/ClientApp/app/components/navmenu/navmenu.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'nav-menu',
5 | templateUrl: './navmenu.component.html',
6 | styleUrls: ['./navmenu.component.css']
7 | })
8 | export class NavMenuComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/Models/UserClaimsVM.cs:
--------------------------------------------------------------------------------
1 | namespace ClientApp.Models
2 | {
3 | public class UserClaimsVM
4 | {
5 | public string UserClaimsWithClientCredentials { get; set; }
6 | public string UserClaimsWithAccessToken { get; set; }
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Home Page";
3 | }
4 |
5 | Loading...
6 |
7 |
8 | @section scripts {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | @ViewData["Title"] - ClientApp
7 |
8 |
9 |
10 |
11 |
12 | @RenderBody()
13 |
14 | @RenderSection("scripts", required: false)
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using ClientApp
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | @addTagHelper *, Microsoft.AspNetCore.SpaServices
4 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ClientApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/ClientApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/README.md:
--------------------------------------------------------------------------------
1 | # OIDC with ASP.NET Identity
2 |
3 | Adding the ASP.NET identity to the Identity server and making it use this data instead of the hardcoded test users.
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/Controllers/IdentityController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Microsoft.AspNetCore.Authorization;
4 | using Microsoft.AspNetCore.Mvc;
5 |
6 | namespace ResourceApi.Controllers
7 | {
8 | [Route("api/[controller]")]
9 | [Authorize]
10 | public class IdentityController : ControllerBase
11 | {
12 | [HttpGet]
13 | public IActionResult Get()
14 | {
15 | return new JsonResult(from c in User.Claims select new { c.Type, c.Value });
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace ResourceApi
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | BuildWebHost(args).Run();
11 | }
12 |
13 | public static IWebHost BuildWebHost(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup()
16 | .Build();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | e740417de511f9b7d92a07f01beb8b5792cf12b8
2 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | bc23f8f2ed45b0205427fe385e5685d636f72531
2 |
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojResolveAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojResolveAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/ResourceApi/obj/ResourceApi.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "rqKUhdz45gIlVoW+zz7QAadRtse4ogPRngsqPtSmLhNGK06Bl/6/fxARrZP3UO+juruAGHkGdioWY1GI9DrK1w==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 4 - OIDC with Identity/Screenshots/calling-identity.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 4 - OIDC with Identity/Screenshots/calling-identity.PNG
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/DesignTimeBuild/.dtbcache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/DesignTimeBuild/.dtbcache
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v15/.suo
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v16/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v16/.suo
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v16/Server/sqlite3/db.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v16/Server/sqlite3/db.lock
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v16/Server/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/.vs/oidc-angular-identityserver/v16/Server/sqlite3/storage.ide
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/AuthorizationServer.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectDebugger
5 |
6 |
7 | AuthorizationServer
8 | true
9 |
10 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Data/ApplicationUser.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Identity;
6 |
7 | namespace AuthorizationServer.Data
8 | {
9 | // Add profile data for application users by adding properties to the ApplicationUser class
10 | public class ApplicationUser : IdentityUser
11 | {
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/About.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model AboutModel
3 | @{
4 | ViewData["Title"] = "About";
5 | }
6 | @ViewData["Title"]
7 | @Model.Message
8 |
9 | Use this area to provide additional information.
10 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/About.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages
8 | {
9 | public class AboutModel : PageModel
10 | {
11 | public string Message { get; set; }
12 |
13 | public void OnGet()
14 | {
15 | Message = "Your application description page.";
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/AccessDenied.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model AccessDeniedModel
3 | @{
4 | ViewData["Title"] = "Access denied";
5 | }
6 |
7 |
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/AccessDenied.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class AccessDeniedModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/ConfirmEmail.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ConfirmEmailModel
3 | @{
4 | ViewData["Title"] = "Confirm email";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 |
10 | Thank you for confirming your email.
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/ForgotPasswordConfirmation.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ForgotPasswordConfirmation
3 | @{
4 | ViewData["Title"] = "Forgot password confirmation";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | Please check your email to reset your password.
10 |
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/ForgotPasswordConfirmation.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class ForgotPasswordConfirmation : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/Lockout.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model LockoutModel
3 | @{
4 | ViewData["Title"] = "Locked out";
5 | }
6 |
7 |
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/Lockout.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class LockoutModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/Manage/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "/Pages/_Layout.cshtml";
3 | }
4 |
5 | Manage your account
6 |
7 |
8 |
Change your account settings
9 |
10 |
11 |
12 | @await Html.PartialAsync("_ManageNav")
13 |
14 |
15 | @RenderBody()
16 |
17 |
18 |
19 |
20 | @section Scripts {
21 | @RenderSection("Scripts", required: false)
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/Manage/_StatusMessage.cshtml:
--------------------------------------------------------------------------------
1 | @model string
2 |
3 | @if (!String.IsNullOrEmpty(Model))
4 | {
5 | var statusMessageClass = Model.StartsWith("Error") ? "danger" : "success";
6 |
7 | ×
8 | @Model
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/Manage/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using AuthorizationServer.Pages.Account.Manage
2 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/ResetPasswordConfirmation.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ResetPasswordConfirmationModel
3 | @{
4 | ViewData["Title"] = "Reset password confirmation";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | Your password has been reset. Please click here to log in .
10 |
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/ResetPasswordConfirmation.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class ResetPasswordConfirmationModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/SignedOut.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model SignedOutModel
3 | @{
4 | ViewData["Title"] = "Signed out";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | You have successfully signed out.
10 |
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Account/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using AuthorizationServer.Pages.Account
2 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Contact.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages
8 | {
9 | public class ContactModel : PageModel
10 | {
11 | public string Message { get; set; }
12 |
13 | public void OnGet()
14 | {
15 | Message = "Your contact page.";
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/Index.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc;
6 | using Microsoft.AspNetCore.Mvc.RazorPages;
7 |
8 | namespace AuthorizationServer.Pages
9 | {
10 | public class IndexModel : PageModel
11 | {
12 | public void OnGet()
13 | {
14 |
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Identity
2 | @using AuthorizationServer
3 | @using AuthorizationServer.Data
4 | @namespace AuthorizationServer.Pages
5 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
6 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Quickstart/Account/ExternalProvider.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class ExternalProvider
8 | {
9 | public string DisplayName { get; set; }
10 | public string AuthenticationScheme { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Quickstart/Account/LogoutInputModel.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutInputModel
8 | {
9 | public string LogoutId { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Quickstart/Account/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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutViewModel : LogoutInputModel
8 | {
9 | public bool ShowLogoutPrompt { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Quickstart/Home/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 IdentityServer4.Quickstart.UI
8 | {
9 | public class ErrorViewModel
10 | {
11 | public ErrorMessage Error { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Services/IEmailSender.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace AuthorizationServer.Services
7 | {
8 | public interface IEmailSender
9 | {
10 | Task SendEmailAsync(string email, string subject, string message);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Views/Shared/_ValidationSummary.cshtml:
--------------------------------------------------------------------------------
1 | @if (ViewContext.ModelState.IsValid == false)
2 | {
3 |
7 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using IdentityServer4.Quickstart.UI
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-AuthorizationServer-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | },
5 | "Logging": {
6 | "IncludeScopes": false,
7 | "LogLevel": {
8 | "Default": "Warning"
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/bin/Debug/netcoreapp2.0/AuthorizationServer.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/AuthorizationServer.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "TqAEqYUlFktkXqu/a9UwyrtVJORG6HBiQVSz2t+6QysfeaW0qIKjlwYEHZKbufXEE988rwdd3m8l4QH+60Cqkw==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | 03d8905e47f9ffeb7fe6a21a40df8595cd917dfe
2 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.assets.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.assets.cache
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 334c65c20e0976531d9e796cc234c539ecfdac9c
2 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.dll
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.pdb
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/icon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/icon.jpg
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/icon.png
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/js/signout-redirect.js:
--------------------------------------------------------------------------------
1 | window.addEventListener("load", function () {
2 | var a = document.querySelector("a.PostLogoutRedirectUri");
3 | if (a) {
4 | window.location = a.href;
5 | }
6 | });
7 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/ClientApp/app/app.server.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { ServerModule } from '@angular/platform-server';
3 | import { AppModuleShared } from './app.shared.module';
4 | import { AppComponent } from './components/app/app.component';
5 |
6 | @NgModule({
7 | bootstrap: [ AppComponent ],
8 | imports: [
9 | ServerModule,
10 | AppModuleShared
11 | ]
12 | })
13 | export class AppModule {
14 | }
15 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/ClientApp/app/components/app/app.component.css:
--------------------------------------------------------------------------------
1 | @media (max-width: 767px) {
2 | /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */
3 | .body-content {
4 | padding-top: 50px;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/ClientApp/app/components/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/ClientApp/app/components/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app',
5 | templateUrl: './app.component.html',
6 | styleUrls: ['./app.component.css']
7 | })
8 | export class AppComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/ClientApp/app/components/counter/counter.component.html:
--------------------------------------------------------------------------------
1 | Counter
2 |
3 | This is a simple example of an Angular component.
4 |
5 | Current count: {{ currentCount }}
6 |
7 | Increment
8 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/ClientApp/app/components/counter/counter.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'counter',
5 | templateUrl: './counter.component.html'
6 | })
7 | export class CounterComponent {
8 | public currentCount = 0;
9 |
10 | public incrementCounter() {
11 | this.currentCount++;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/ClientApp/app/components/home/home.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'home',
5 | templateUrl: './home.component.html'
6 | })
7 | export class HomeComponent {
8 | }
9 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/ClientApp/app/components/navmenu/navmenu.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'nav-menu',
5 | templateUrl: './navmenu.component.html',
6 | styleUrls: ['./navmenu.component.css']
7 | })
8 | export class NavMenuComponent {
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/Models/UserClaimsVM.cs:
--------------------------------------------------------------------------------
1 | namespace ClientApp.Models
2 | {
3 | public class UserClaimsVM
4 | {
5 | public string UserClaimsWithClientCredentials { get; set; }
6 | public string UserClaimsWithAccessToken { get; set; }
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Home Page";
3 | }
4 |
5 | Loading...
6 |
7 |
8 | @section scripts {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | @ViewData["Title"] - ClientApp
7 |
8 |
9 |
10 |
11 |
12 | @RenderBody()
13 |
14 | @RenderSection("scripts", required: false)
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using ClientApp
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 | @addTagHelper *, Microsoft.AspNetCore.SpaServices
4 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ClientApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/ClientApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/README.md:
--------------------------------------------------------------------------------
1 | # OIDC with EF for configuration
2 |
3 | Adding our OIDC configuration to a MSSQL database for being able to change configurations dynamically.
4 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/Controllers/IdentityController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Microsoft.AspNetCore.Authorization;
4 | using Microsoft.AspNetCore.Mvc;
5 |
6 | namespace ResourceApi.Controllers
7 | {
8 | [Route("api/[controller]")]
9 | [Authorize]
10 | public class IdentityController : ControllerBase
11 | {
12 | [HttpGet]
13 | public IActionResult Get()
14 | {
15 | return new JsonResult(from c in User.Claims select new { c.Type, c.Value });
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace ResourceApi
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | BuildWebHost(args).Run();
11 | }
12 |
13 | public static IWebHost BuildWebHost(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup()
16 | .Build();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | e740417de511f9b7d92a07f01beb8b5792cf12b8
2 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.assets.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.assets.cache
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 2226bd249317e91a5e5e67027bdecf0455b58e38
2 |
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/ResourceApi/obj/ResourceApi.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "gEXjSTokTpOxJJHSD5fAQVH6sj8/Il4OpeuNPiJcDpLNgmN3i4BTaXJsY6rT/akGdXhQ+BjOE+WJQebmUAmofw==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 5 - OIDC with EF for configuration/Screenshots/calling-identity.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 5 - OIDC with EF for configuration/Screenshots/calling-identity.PNG
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.DS_Store
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.gitignore:
--------------------------------------------------------------------------------
1 | .vs/
2 | Debug/
3 | bin/
4 | obj/
5 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/.suo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/.suo
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/Server/sqlite3/db.lock
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide-shm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide-shm
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide-wal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/v15/Server/sqlite3/storage.ide-wal
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/UserPrefs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/sqlite3/db.lock:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/sqlite3/db.lock
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/sqlite3/storage.ide:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/sqlite3/storage.ide
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/sqlite3/storage.ide-shm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/sqlite3/storage.ide-shm
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/sqlite3/storage.ide-wal:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/.vs/oidc-angular-identityserver/xs/sqlite3/storage.ide-wal
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/.gitignore:
--------------------------------------------------------------------------------
1 | bin/
2 | obj/
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/AuthorizationServer.csproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ProjectDebugger
5 |
6 |
7 | AuthorizationServer
8 | true
9 |
10 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Data/ApplicationUser.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Identity;
6 |
7 | namespace AuthorizationServer.Data
8 | {
9 | // Add profile data for application users by adding properties to the ApplicationUser class
10 | public class ApplicationUser : IdentityUser
11 | {
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/About.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model AboutModel
3 | @{
4 | ViewData["Title"] = "About";
5 | }
6 | @ViewData["Title"]
7 | @Model.Message
8 |
9 | Use this area to provide additional information.
10 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/About.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages
8 | {
9 | public class AboutModel : PageModel
10 | {
11 | public string Message { get; set; }
12 |
13 | public void OnGet()
14 | {
15 | Message = "Your application description page.";
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/AccessDenied.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model AccessDeniedModel
3 | @{
4 | ViewData["Title"] = "Access denied";
5 | }
6 |
7 |
11 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/AccessDenied.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class AccessDeniedModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/ConfirmEmail.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ConfirmEmailModel
3 | @{
4 | ViewData["Title"] = "Confirm email";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 |
10 | Thank you for confirming your email.
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/ForgotPasswordConfirmation.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ForgotPasswordConfirmation
3 | @{
4 | ViewData["Title"] = "Forgot password confirmation";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | Please check your email to reset your password.
10 |
11 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/ForgotPasswordConfirmation.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class ForgotPasswordConfirmation : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/Lockout.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model LockoutModel
3 | @{
4 | ViewData["Title"] = "Locked out";
5 | }
6 |
7 |
11 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/Lockout.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class LockoutModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/Manage/_Layout.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "/Pages/_Layout.cshtml";
3 | }
4 |
5 | Manage your account
6 |
7 |
8 |
Change your account settings
9 |
10 |
11 |
12 | @await Html.PartialAsync("_ManageNav")
13 |
14 |
15 | @RenderBody()
16 |
17 |
18 |
19 |
20 | @section Scripts {
21 | @RenderSection("Scripts", required: false)
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/Manage/_StatusMessage.cshtml:
--------------------------------------------------------------------------------
1 | @model string
2 |
3 | @if (!String.IsNullOrEmpty(Model))
4 | {
5 | var statusMessageClass = Model.StartsWith("Error") ? "danger" : "success";
6 |
7 | ×
8 | @Model
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/Manage/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using AuthorizationServer.Pages.Account.Manage
2 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/ResetPasswordConfirmation.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ResetPasswordConfirmationModel
3 | @{
4 | ViewData["Title"] = "Reset password confirmation";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | Your password has been reset. Please click here to log in .
10 |
11 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/ResetPasswordConfirmation.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages.Account
8 | {
9 | public class ResetPasswordConfirmationModel : PageModel
10 | {
11 | public void OnGet()
12 | {
13 |
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/SignedOut.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model SignedOutModel
3 | @{
4 | ViewData["Title"] = "Signed out";
5 | }
6 |
7 | @ViewData["Title"]
8 |
9 | You have successfully signed out.
10 |
11 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Account/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using AuthorizationServer.Pages.Account
2 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Contact.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @model ContactModel
3 | @{
4 | ViewData["Title"] = "Contact";
5 | }
6 | @ViewData["Title"]
7 | @Model.Message
8 |
9 |
10 | One Microsoft Way
11 | Redmond, WA 98052-6399
12 | P:
13 | 425.555.0100
14 |
15 |
16 |
17 | Support: Support@example.com
18 | Marketing: Marketing@example.com
19 |
20 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Contact.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc.RazorPages;
6 |
7 | namespace AuthorizationServer.Pages
8 | {
9 | public class ContactModel : PageModel
10 | {
11 | public string Message { get; set; }
12 |
13 | public void OnGet()
14 | {
15 | Message = "Your contact page.";
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/Index.cshtml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 | using Microsoft.AspNetCore.Mvc;
6 | using Microsoft.AspNetCore.Mvc.RazorPages;
7 |
8 | namespace AuthorizationServer.Pages
9 | {
10 | public class IndexModel : PageModel
11 | {
12 | public void OnGet()
13 | {
14 |
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Identity
2 | @using AuthorizationServer
3 | @using AuthorizationServer.Data
4 | @namespace AuthorizationServer.Pages
5 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
6 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Quickstart/Account/ExternalProvider.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class ExternalProvider
8 | {
9 | public string DisplayName { get; set; }
10 | public string AuthenticationScheme { get; set; }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Quickstart/Account/LogoutInputModel.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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutInputModel
8 | {
9 | public string LogoutId { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Quickstart/Account/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 IdentityServer4.Quickstart.UI
6 | {
7 | public class LogoutViewModel : LogoutInputModel
8 | {
9 | public bool ShowLogoutPrompt { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Quickstart/Home/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 IdentityServer4.Quickstart.UI
8 | {
9 | public class ErrorViewModel
10 | {
11 | public ErrorMessage Error { get; set; }
12 | }
13 | }
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Services/IEmailSender.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Threading.Tasks;
5 |
6 | namespace AuthorizationServer.Services
7 | {
8 | public interface IEmailSender
9 | {
10 | Task SendEmailAsync(string email, string subject, string message);
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Views/Shared/_ValidationSummary.cshtml:
--------------------------------------------------------------------------------
1 | @if (ViewContext.ModelState.IsValid == false)
2 | {
3 |
7 | }
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using IdentityServer4.Quickstart.UI
2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
3 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ConnectionStrings": {
3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-AuthorizationServer-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true"
4 | },
5 | "Logging": {
6 | "IncludeScopes": false,
7 | "LogLevel": {
8 | "Default": "Warning"
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/obj/AuthorizationServer.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "9036VPBMKaQ0D0YeKyvd4qH3Jxj7TnWXQAC3hF2r1GCoYvKWzEsk7oQXhmaGdC3OnV2CHVLoAo7+65Ms4O5z0g==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | 03d8905e47f9ffeb7fe6a21a40df8595cd917dfe
2 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.assets.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.assets.cache
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 1074c00d7c0d0516d66ec72e4a754fe7b2ca060a
2 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/obj/Debug/netcoreapp2.0/AuthorizationServer.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/icon.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/icon.jpg
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/icon.png
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/js/signout-redirect.js:
--------------------------------------------------------------------------------
1 | window.addEventListener("load", function () {
2 | var a = document.querySelector("a.PostLogoutRedirectUri");
3 | if (a) {
4 | window.location = a.href;
5 | }
6 | });
7 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Write your Javascript code.
2 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/js/site.min.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/js/site.min.js
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/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')
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/AuthorizationServer/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see https://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | max_line_length = off
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/browserslist:
--------------------------------------------------------------------------------
1 | # This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
2 | # For additional information regarding the format and rule options, please see:
3 | # https://github.com/browserslist/browserslist#queries
4 |
5 | # You can see what browsers were selected by your queries by running:
6 | # npx browserslist
7 |
8 | > 0.5%
9 | last 2 versions
10 | Firefox ESR
11 | not dead
12 | not IE 9-11 # For IE 9-11 support, remove 'not'.
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/e2e/src/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, by, element } from 'protractor';
2 |
3 | export class AppPage {
4 | navigateTo() {
5 | return browser.get(browser.baseUrl) as Promise;
6 | }
7 |
8 | getTitleText() {
9 | return element(by.css('app-root h1')).getText() as Promise;
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/e2e/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/e2e",
5 | "module": "commonjs",
6 | "target": "es5",
7 | "types": [
8 | "jasmine",
9 | "jasminewd2",
10 | "node"
11 | ]
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/app/app.component.scss:
--------------------------------------------------------------------------------
1 | @media (max-width: 767px) {
2 | /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */
3 | .body-content {
4 | padding-top: 50px;
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/app/core/core.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { CommonModule } from '@angular/common';
3 | import { AuthService } from './auth/auth.service';
4 | import { AuthModule, OidcSecurityService } from 'angular-auth-oidc-client';
5 |
6 | @NgModule({
7 | imports: [
8 | CommonModule,
9 | AuthModule.forRoot()
10 | ],
11 | declarations: [],
12 | providers: [
13 | AuthService,
14 | OidcSecurityService,
15 | ]
16 | })
17 | export class CoreModule { }
18 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/app/counter/counter.component.html:
--------------------------------------------------------------------------------
1 | Counter
2 |
3 | This is a simple example of an Angular component.
4 |
5 | Current count: {{ currentCount }}
6 |
7 | Increment
8 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/app/counter/counter.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-counter-component',
5 | templateUrl: './counter.component.html'
6 | })
7 | export class CounterComponent {
8 | public currentCount = 0;
9 |
10 | public incrementCounter() {
11 | this.currentCount++;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/app/home/home.component.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | @Component({
4 | selector: 'app-home',
5 | templateUrl: './home.component.html',
6 | })
7 | export class HomeComponent {
8 | }
9 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/app/nav-menu/nav-menu.component.scss:
--------------------------------------------------------------------------------
1 | a.navbar-brand {
2 | white-space: normal;
3 | text-align: center;
4 | word-break: break-all;
5 | }
6 |
7 | html {
8 | font-size: 14px;
9 | }
10 | @media (min-width: 768px) {
11 | html {
12 | font-size: 16px;
13 | }
14 | }
15 |
16 | .box-shadow {
17 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/app/unauthorized/unauthorized.component.html:
--------------------------------------------------------------------------------
1 |
2 | Login is required to access this area
3 |
4 |
5 | Login
6 | Back
7 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/assets/.gitkeep
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/environments/environment.prod.ts:
--------------------------------------------------------------------------------
1 | export const environment = {
2 | production: true
3 | };
4 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/favicon.ico
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | ClientApp
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/src/styles.scss:
--------------------------------------------------------------------------------
1 | /* You can add global styles to this file, and also import other style files */
2 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "./out-tsc/app",
5 | "types": []
6 | },
7 | "include": [
8 | "src/**/*.ts"
9 | ],
10 | "exclude": [
11 | "src/test.ts",
12 | "src/**/*.spec.ts"
13 | ]
14 | }
15 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/ClientApp/tsconfig.spec.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "./out-tsc/spec",
5 | "types": [
6 | "jasmine",
7 | "node"
8 | ]
9 | },
10 | "files": [
11 | "src/test.ts",
12 | "src/polyfills.ts"
13 | ],
14 | "include": [
15 | "src/**/*.spec.ts",
16 | "src/**/*.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using ClientApp
2 | @namespace ClientApp.Pages
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Debug",
5 | "System": "Information",
6 | "Microsoft": "Information"
7 | }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | },
7 | "AllowedHosts": "*"
8 | }
9 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ClientApp/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ClientApp/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/README.md:
--------------------------------------------------------------------------------
1 | # OIDC with Angular client
2 |
3 | Creating an Angular client with implicit flow OIDC client, that can call an authorized end point on the resource api.
4 |
5 | Authorization server:
6 | Create spaClient with implicit grant
7 |
8 | Client app:
9 | Setup Angular app. I updated this to use Angular 5.
10 | Install the angular-auth-oidc-client package and setup the urls. Create methods for doing http calls that sets the Authorization header with the bearer token.
11 |
12 | Resource api:
13 | Setup an authorized controller with a method providing weather data.
14 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/.gitignore:
--------------------------------------------------------------------------------
1 | bin/
2 | obj/
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/Controllers/IdentityController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using Microsoft.AspNetCore.Authorization;
4 | using Microsoft.AspNetCore.Mvc;
5 |
6 | namespace ResourceApi.Controllers
7 | {
8 | [Route("api/[controller]")]
9 | [Authorize]
10 | public class IdentityController : ControllerBase
11 | {
12 | [HttpGet]
13 | public IActionResult Get()
14 | {
15 | return new JsonResult(from c in User.Claims select new { c.Type, c.Value });
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 |
4 | namespace ResourceApi
5 | {
6 | public class Program
7 | {
8 | public static void Main(string[] args)
9 | {
10 | BuildWebHost(args).Run();
11 | }
12 |
13 | public static IWebHost BuildWebHost(string[] args) =>
14 | WebHost.CreateDefaultBuilder(args)
15 | .UseStartup()
16 | .Build();
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Warning"
5 | }
6 | },
7 | "clientUrl": "https://localhost:44311"
8 | }
9 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.dev.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "additionalProbingPaths": [
4 | "C:\\Users\\chris\\.dotnet\\store\\|arch|\\|tfm|",
5 | "C:\\Users\\chris\\.nuget\\packages",
6 | "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
7 | ]
8 | }
9 | }
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/bin/Debug/netcoreapp2.0/ResourceApi.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "netcoreapp2.0",
4 | "framework": {
5 | "name": "Microsoft.NETCore.App",
6 | "version": "2.0.0"
7 | },
8 | "configProperties": {
9 | "System.GC.Server": true
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | e740417de511f9b7d92a07f01beb8b5792cf12b8
2 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.assets.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.assets.cache
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 503afcaf18017696baccbb3d68ff0bdce2316606
2 |
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojAssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.csprojAssemblyReference.cache
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.dll
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/ResourceApi/obj/Debug/netcoreapp2.0/ResourceApi.pdb
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/ResourceApi/obj/ResourceApi.csproj.nuget.cache:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "dgSpecHash": "bepwgaxdh7Uxd0mbZfsPUulk4hp5I4I37i5J0g7PE+HoWOH/0/NryoPS3bFITLOhRUqdKH1ohOGQTl4cT/VTbg==",
4 | "success": true
5 | }
--------------------------------------------------------------------------------
/Solution 6 - OIDC and Angular client/Screenshots/calling-identity.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lydemann/oidc-angular-identityserver/b8e79913cbee441a342b5242ad6a5d8cf1994318/Solution 6 - OIDC and Angular client/Screenshots/calling-identity.PNG
--------------------------------------------------------------------------------