Skip to main content

Authentication

IdentityServer

ราคา license IdentityServer ครับ credit เทพเรย์

เกี่ยวกับ 5 client applications:

ปกติ client mobile app ที่ user ใช้งานจะมี 1 client id ที่ได้หลักจาก register client application ที่ ID server

ถ้า mobile app เดิมที่ user คนอื่นใช้ ไม่ต้อง register client ใหม่ที่ authorization server แล้ว ใช้ client id เดิมเลย

mobile app ถ้าเป็น application เดียวกัน จะมี client id และ client secret เดียวกัน

ให้ใช้ได้เพียง 5 client application ก็ถือว่าเพียงพอครับ

เพราะโดยทั่วไปเราก็ทำ 1 client application กับ 1 identity server

แต่ถ้าจะวางระบบให้รองรับ client application หลายตัวให้เชื่อมกับ identity server การรองรับ 5 client applications คงไม่พอ

Pasted image 20250101210252.png

https://www.facebook.com/groups/dotnetthailand/permalink/3675093575909806/

Openiddict - Open Source

Sample: https://github.com/openiddict/openiddict-samples

OrchardCore CMS ใช้ OpenIddict library (Identity, JWT) ในการจัดการกับ Login, Authentication, JWT

ในตัว OrchardCore ได้มี OrchardCore.OpenId module มาให้

ทำให้เราสามารถใช้ JWT ร่วมกับ Angular, React, Vue, Blazor app ได้เลย

ตัวอย่าง video Orchard Core และ OpenId

Orchard Core OpenID Connect Code Flow with Blazing Orchard

https://www.youtube.com/watch?v=C4GYNVlxU30

Orchard Core OpenID Connect Code Flow Api Authorization With A BlazorWASM Client CRUD App

https://www.youtube.com/watch?v=C3-_51u9IlU

Orchard Core OpenID Connect Code Flow API Authorization with a React Client CRUD Application

https://www.youtube.com/watch?v=-MCjLcu-eOE

Orchard Core OpenID Connect Code Flow API Authorization with a Vue.js Client CRUD Application

https://www.youtube.com/watch?v=k1xje-reHIY

OpenID Connect Authorization in a Blazor WebAssembly Application

https://www.youtube.com/watch?v=ZxZJ3BtDAxU

Orchard Core OpenID Connect Code Flow API Authorization with an Angular Client CRUD Application

https://www.youtube.com/watch?v=q687F0ltGJo

ตอนขอ access token จะใช้ URL /connect/token

เราจะไม่เจอ ConnectController และ Token action method

ใน OrchardCMS เนื่องจาก OrchardCore จะไปเรียกใช้ผ่าน OpenIddict ครับ

Link อื่นๆ ที่มีประโยชน์

OpenId VS OAuth

https://stackoverflow.com/a/1087071/1872200

OpenIddict library

https://github.com/openiddict/openiddict-core

Setting up an Authorization Server with OpenIddict - Part 1 - 6

https://dev.to/.../setting-up-an-authorization-server...

https://dev.to/.../setting-up-an-authorization-server...

https://dev.to/.../setting-up-an-authorization-server...

https://dev.to/.../setting-up-an-authorization-server...

https://dev.to/.../setting-up-an-authorization-server...

https://dev.to/.../setting-up-an-authorization-server...

credit admin ป้องครับ Wittawat Karpkrikaew

Other resource

Using the OrchardCore OpenID management feature with an existing OpenIddict deployment

Implementing an OpenIddict Authorization server: Social Login with GitHub

Implementing an OpenIddict Authorization server: A Basic Authorization Server

Creating an OpenID Connect server proxy with OpenIddict 3.0's degraded mode