The Wayback Machine - https://web.archive.org/web/20200907050102/https://github.com/linianhui/oidc.example
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
May 10, 2020
Jul 25, 2020
Apr 21, 2017
Jan 15, 2020

README.md

Table of content

CI

CI Platform Stauts
GitHub Action Windows GitHub-Actions-Img

How to run?

docker-compose.yml (docker platform)

## start docker
docker-compose up --detach --build

## stop docker
docker-compose down

Update local /etc/hosts.

cat <<EOF >> /etc/hosts
127.0.0.1 traefik.test
127.0.0.1 oidc-server.test
127.0.0.1 oidc-client-hybrid.test
127.0.0.1 oidc-client-js.test
127.0.0.1 oauth2-resources-nodejs.test
127.0.0.1 oauth2-resources-aspnetcore.test
127.0.0.1 oauth2-resources-java.test
127.0.0.1 oauth2-client-aspnetcore.test
EOF

build.ps1 (windows platform)

Use administrator run build.ps1 to deploy demo web site to local IIS. Required :

  1. vs 2019 16.4 +
  2. .net framework 4.6.1 sdk
  3. .net core 3.1 sdk
  4. ASP.NET Core Module
build.ps1 -help

build.ps1 -target {Task}

Task                          Description
================================================================================
clean                         清理项目缓存
restore                       还原项目依赖
build                         编译项目
deploy-iis                    部署到本机IIS
open-browser                  用浏览器打开部署的站点
default                       默认执行open-browser

Deployed web site

web site docker windows description
http://traefik.test reverse proxy : traefik
http://oidc-server.test oidc server : asp.net core 3.1
http://oidc-client-hybrid.test oidc client : asp.net core 3.1
http://oidc-client-implicit.test oidc client : asp.net owin 4
http://oidc-client-js.test oidc client : html js(use access_token call resource api)
http://oauth2-resources-aspnetcore.test   oauth2 resources api : asp.net core 3.1
http://oauth2-resources-nodejs.test oauth2 resources api : node.js
http://oauth2-resources-java.test oauth2 resources api : java (spring boot)
http://oauth2-resources-owin.test oauth2 resources api : asp.net webapi 2
http://oauth2-client-aspnetcore.test oauth2 client : asp.net core 3.1
http://oauth2-client-owin.test oauth2 client : asp.net owin 4

OIDC Servers

  1. 1-src/web.oidc.server.ids4 : ids4 (https://github.com/IdentityServer/IdentityServer4) example (with github, qqconnect external login).

OIDC Clients

  1. 1-src/web.oidc.client.hybrid : web site, hybrid flow.
  2. 1-src/web.oidc.client.implicit : web site, implicit flow.
  3. 1-src/web.oidc.client.js : web site(static), implicit flow .
  4. 1-src/uwp.oidc.client.authorization-code : uwp app, authorization code flow.
  5. 1-src/wpf.oidc.client.authorization-code : wpf app, authorization code flow.

OAuth2 Clients

  1. 1-src/web.oauth2.client.aspnetcore : asp.net core 3.1.
  2. 1-src/web.oauth2.client.owin : asp.net owin.
  3. 1-src/console.oauth2.client.client-credentials : console app, client credentials flow(oauth2).
  4. 1-src/console.oauth2.client.resource-owner-password-credentials : console app, resource owner password credentials flow(oauth2).

OAuth2 Resources Servers

  1. 1-src/web.oauth2.resources.aspnetcore: asp.net core 3.1.
  2. 1-src/web.oauth2.resources.owin: asp.net owin.
  3. 1-src/web.oauth2.resources.nodejs: node.js.
  4. 1-src/web.oauth2.resources.java: java (spring boot 2.2.1).

OAuth2 Middleware

  1. 1-src/oauth2.github.aspnetcore: asp.net core 3.1.
  2. 1-src/oauth2.qqconnect.aspnetcore: asp.net core 3.1.
  3. 1-src/oauth2.qqconnect.owin: asp.net owin.

Global Config

If you want use QQ Connect or Github, please replace ClientId and ClientSercet in 1-src/_shared/GlobalConfig.cs file.

public static class GlobalConfig
{
    public static class QQConnect
    {
        public static readonly string ClientId = "You App Id";
        public static readonly string ClientSecret = "You App Secret";
    }

    public static class Github
    {
        public static readonly string ClientId = "You App Id";
        public static readonly string ClientSecret = "You App Secret";
    }
}

Blog

Authentication and Authorization: http://www.cnblogs.com/linianhui/category/929878.html

OIDC in Action: http://www.cnblogs.com/linianhui/category/1121078.html

Old version(ids3 and owin)

  1. ids3: https://github.com/linianhui/oidc.example/tree/ids3
  2. ids4 and owin: https://github.com/linianhui/oidc.example/tree/owin
You can’t perform that action at this time.