Code Monkey home page Code Monkey logo

oidc.example's Introduction

Table of content

CI

CI Service Build Platform Stauts
AppVeyor Windows Build status

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.
  6. 1-src/console.oidc.client.client-credentials :console app,client credentials flow(oauth2).

OAuth2 Resources Servers

  1. 1-src/web.oauth2.resources.aspnetcore: asp.net core 3.0.
  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.1.9).

OAuth2 Clients

  1. 1-src/web.oauth2.client.aspnetcore : asp.net core 3.0.
  2. 1-src/web.oauth2.client.owin : asp.net owin.

OAuth2 Middleware

  1. 1-src/oauth2.github.aspnetcore: asp.net core 3.0.
  2. 1-src/oauth2.qqconnect.aspnetcore: asp.net core 3.0.
  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";
    }
}

Deployed web site

web site docker windows description
http://localhost:8080 reverse proxy :traefik
http://oidc-server.test oidc server : asp.net core 3.0
http://oidc-client-hybrid.test oidc client : asp.net core 3.0
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.0
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.0
http://oauth2-client-owin.test oauth2 client : asp.net owin 4

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 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.3 +
  2. .net framework 4.6.1 sdk
  3. .net core 3.0 sdk : https://dotnet.microsoft.com/download/thank-you/dotnet-sdk-3.0.100-windows-x64-installer
  4. ASP.NET Core Module : https://dotnet.microsoft.com/download/thank-you/dotnet-runtime-3.0.0-windows-hosting-bundle-installer
build.ps1 -help

build.ps1 -target {Task}

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

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

oidc.example's People

Contributors

linianhui avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.