[ADMIN] คู่มือการเชื่อมต่อระบบลงชื่อเข้าใช้แบบครั้งเดียว SSO

[ADMIN] คู่มือการเชื่อมต่อระบบลงชื่อเข้าใช้แบบครั้งเดียว SSO

1.             และระบบลงชื่อเข้าใช้แบบครั้งเดียว (Single Sign-On: SSO)

1.1.              ระบบบริหารจัดการทรัพยากรบุคคล (Human Capital Management: HCM) และระบบลงชื่อเข้าใช้แบบครั้งเดียว (Single Sign-On: SSO) การออกแบบโครงสร้างการเชื่อมต่อข้อมูลกับระบบ (Architecture Diagram)

A diagram of a software system

AI-generated content may be incorrect.

รูปที่ 1 การออกแบบโครงสร้างการเชื่อมต่อข้อมูลกับระบบ (Architecture Diagram)

 

A diagram of different colors

AI-generated content may be incorrect.

 ตารางอธิบายการทำงานรูปที่ 1

ลำดับ

คำอธิบาย

1

การลงชื่อเข้าใช้งานระบบ Oracle Applications Cloud ผ่านระบบ Single Sign-On : SSO

2

การเข้าใช้งานระบบ Payroll ผ่านระบบ Oracle Applications Cloud โดยบัญชีที่มีสิทธิเข้าใช้งานไม่ต้องทำการลงชื่อเข้าใช้งานใหม่อีกครั้ง

3

การลงชื่อเข้าใช้งานระบบ Oracle Applications Cloud ผ่านระบบ Single Sign-On : SSO ด้วยบัญชีผู้ใช้งานที่มีสิทธิเข้าใช้งานระบบ Oracle Applications Cloud เท่านั้น โดยขั้นตอนนี้ บัญชีผู้ใช้งานนี้จะไม่สามารถเข้าสู่ระบบ Payroll ผ่านระบบ Oracle Applications Cloud

4

การลงชื่อเข้าใช้งานระบบเงินเดือนและค่าตอบแทน (Payroll) ผ่านระบบ Single Sign-On : SSO

1.1.1.                       ระบบลงชื่อเข้าใช้แบบครั้งเดียว (Single Sign-On: SSO)  API

HTTP Method

POST

Endpoint

 

Headers

Content-Type

SAML Metadata

Request Body

grant_type

https___login-iaajtj.fa.ocs.oraclecloud.com_443_oam_fed_metadata


A screenshot of a computer

AI-generated content may be incorrect.

รูปที่ 2 แสดงการดาวน์โหลด SAML Metadata ไฟล์ และ การเปิดใช้งาน Single Sign On บนระบบ Oracle

 

รูปที่ 3 แสดงการตั้งค่า SAML Metadata ไฟล์ ระบบ Azure AD ของมหาวิทยาลัย

ข้อมูล "the XML file metadata file" สำหรับระบบจริง Production ตามไฟล์แนบ ใช้ตั้งค่าบน Azure SAML - SSO Configuration เชื่อมกับระบบ Oracle Fusion cloud   

1.1.1.1. เอกสารแนบเพิ่มเติมจากมหาวิทยาลัย : คู่มือการใช้งาน KKU Single Sign On (SSONext)

สิ่งที่ผู้พัฒนาหรือผู้ขอใช้บริการต้องเตรียม

·      Redirect URL เป็นลิ้งค์ที่ใช้ redirect กลับ เมื่อ user ทำการล็อคอินเรียบร้อยแล้ว เช่น https://digital.kku.ac.th/callback/sso

·      Redirect Logout URL เป็นลิ้งก์ที่ใช้ redirect กลับ เมื่อ user ทำการล็อคเอ้าท์ออกจากระบบแล้ว

·      สิ่งที่ผู้ให้บริการจะส่งข้อมูล หลังจากขอใช้บริการ มีข้อมูลดังนี้

o   App ID

o   Client ID

o   Client Secret

o   ขั้นตอนการใช้ KKU Single Sign On (SSONext)

o   Login endpoint: https://ssonext.kku.ac.th/login?app=<AppID>

ตัวอย่างการใช้งาน

<a href="https://ssonext.kku.ac.th/login?app=<AppID>">Login</a>

Redirect URL:

เมื่อ user ล็อกอินสำเร็จแล้วจะ redirect กลับมาที่เว็บไซต์ของผู้ขอใช้บริการ เช่น

https://digital.kku.ac.th/callback/sso?code=0190e7fe-fd00-7d8c-b823-5cdd79f04769

A computer screen shot of a blue sky

AI-generated content may be incorrect.

ให้ทำการรับค่าจากพารามิเตอร์ code เพื่อนำไปขอ Access token เพื่อเข้าถึง Resources อื่นต่อไป


REST Service:

ระบบที่เชื่อมต่อร้องขอ Access Token ด้วยการใช้ REST service ตามตัวอย่างนี้

curl --location --request POST 'https://ssonext-api.kku.ac.th/auth.token' \

--header 'Content-Type: application/json' \

--data '{

    "code": "<code from Query Params>",

    "redirectUrl": "<Redirect Url>",

    "clientId": "<Client ID>",

    "clientSecret":"<Client Secret>"

}'

กรณีที่สำเร็จระบบจะตอบ HTTP Status 200 และมีโครงสร้างดังนี้

{

    "ok": true,

    "accessToken": "",

    "email": "",

    "immutableId": "",

    "citizenId": "",

    "firstName": "",

    "lastName": "",

    "employeeId": ""

}

 


 

กรณีที่ไม่สำเร็จระบบจะตอบ HTTP Status 200 และมีโครงสร้างดังนี้

{

    "ok": false,

    "error": "AUTH0001"

}

ระบบที่เชื่อมต่อร้องขอ User Resource ด้วยการใช้ REST service ตามตัวอย่างนี้

curl --location --request POST 'https://ssonext-api.kku.ac.th/user.profile' \

--header 'Authorization: Bearer <Access Token>' \

--data ''

กรณีที่สำเร็จระบบจะตอบ HTTP Status 200 และมีโครงสร้างดังนี้

{

    "ok": true,

    "profile": {

        "email": "",

        "userId": "",

        "type": "",

        "citizenId": "",

        "title": "",

        "firstname": "",

        "lastname": "",

        "titleEng": "",

        "firstnameEng": "",

        "lastnameEng": "",

        "facultyName": "",

        "positionName": "",

        "positionTypeName": "",

        "levelId": "",

        "levelName": "",

        "gender": "",

        "workline": "",

        "phoneNumber": "",

        "personStatus": ""

        "lastVerify": ""

    }

}

กรณีที่ไม่สำเร็จระบบจะตอบ HTTP Status 401 Unauthorized 

ระบบที่เชื่อมต่อเพื่อร้องขอ Authen Status ด้วยการใช้ REST service ตามตัวอย่างนี้

curl --location --request POST 'https://ssonext-api.kku.ac.th/auth.status \

--header 'Authorization: Bearer <Access Token>' \

--data ''

 

กรณีที่สำเร็จระบบจะตอบ HTTP Status 200 และมีโครงสร้างดังนี้

{

    "ok": true,

    "user": {

        "sessionId": "xxxxxxxxx-f674-73ed-b12b-xxxxxxxxxxxxx",

        "email": "xxxx@kku.ac.th",

        "role": "STAFF"

    }

}

กรณีที่ไม่สำเร็จระบบจะตอบ HTTP Status 401 Unauthorized

ดาวน์โหลดไฟล์ : Postman Collection


Logout endpoint:

https://ssonext.kku.ac.th/logout?app=<AppID>

ตัวอย่างการใช้งาน

<a href="https://ssonext.kku.ac.th/logout?app=<AppID>">Logout</a>

Redirect Logout URL:

เมื่อ user ล็อกเอ้าท์สำเร็จแล้วจะ redirect กลับมาที่เว็บไซต์ของผู้ขอใช้บริการ ตามข้อขูลที่ระบบไว้ในแบบฟอร์มขอใช้งาน เช่น https://digital.kku.ac.t

    • Related Articles

    • [ADMIN] การตั้งค่า Single Sign-On(SSO)

      การตั้งค่าการเชื่อมต่อ Oracle Cloud Infrastructure กับ Identity Providers ภายนอก Federating with Identity Providers การตั้งค่า Identity providers (IdP) 1 Managing Identity Providers 1.1 Managing a SAML Identity Provider 1.2 Adding a SAML Just-in-Time ...
    • [ADMIN] การออกจากระบบ Logout Fusion Data Intelligence

      การออกจากระบบ (Logout) 1. เมื่อเสร็จสิ้นการใช้งาน Oracle Analytics ให้คลิกที่ Profile หรือ User Icon ที่มุมขวาบนของหน้าจอ. 2. เลือก Sign Out เพื่อลงจากระบบอย่างปลอดภัย
    • [ADMIN] การสร้างประเภทหลักประกันในระบบ

      1.1. หน้าจอเข้าสู่ระบบผู้ดูแลระบบ หากต้องการเข้าถึงหน้าการทำงานของผู้ดูแลระบบของระบบบริหารสัญญาไปที่ URL : erpconnect.kku.ac.th 1) เลือก “Oracle Apex” 2) ลงชื่อเข้าใช้ KKU Workspace 3) ไปที่ “App Builder” > คลิกที่ไอคอน “App Builder” 4) ไปที่ “Admin” ...
    • [ADMIN] การสร้างประเภทของการค้ำประกัน (GUARANTEE TYPE)

      1.1. หน้าจอเข้าสู่ระบบผู้ดูแลระบบ หากต้องการเข้าถึงหน้าการทำงานของผู้ดูแลระบบของระบบบริหารสัญญาไปที่ URL : erpconnect.kku.ac.th 1) เลือก “Oracle Apex” 2) ลงชื่อเข้าใช้ KKU Workspace 3) ไปที่ “App Builder” > คลิกที่ไอคอน “App Builder” 4) ไปที่ “Admin” ...
    • [BI] การออกจากระบบ Oracle Analytics

      การออกจากระบบ (Sign Out) 1. เมื่อเสร็จสิ้นการใช้งาน Oracle Analytics ให้คลิกที่ Profile หรือ User Icon ที่มุมขวาบนของหน้าจอ 2. เลือก Sign Out เพื่อลงจากระบบอย่างปลอดภัย