อยากทราบว่าสามารถใช้งานลักษณะ SSO ได้ไหมครับ

อยากทราบว่านอกจากการรวมโปรเจคแล้ว สามารถใช้วิธี SSO ได้หรือไม่ บางครั้งก็ไม่อยากเอาโปรเจคมารวมกัน แต่ก็ไม่อยากสร้าง user ใหม่บ่อยๆ และไม่อยากให้ Login ใหม่ตลอด ลักษณะคล้าย ระบบต่างๆ ของ Google ที่ Login ครั้งเดียวแล้วเข้าได้ทุกระบบ
20 ก.ย. 2566 11 456

ได้ครับ โปรแกรมทุกตัวมี API ให้ใช้
1. เลือกเว็บใดเว็บหนึ่งที่มีสมาชิกมากที่สุดเป็นเว็บแม่ เข้าไปตั้งค่า API สังเกตว่า ต้องเป็น URL ของเว็บตัวเอง แล้วกด Save
2. นำข้อมูลทั้งหมดในหน้า API ไปกำหนดให้เว็บลูกทุกเว็บที่ต้องการ
เมื่อมีการเข้าระบบ จะมีการตรวจสอบการเข้าระบบที่เว็บตัวเองก่อน ถ้าไม่สามารถเข้าได้จะถูกส่งไปตรวจสอบที่ API อีกที
หมายเหตุ การใช้งาน API จะมีแค่ข้อมูลส่วนตัวเท่านั้น ไม่สามารถดีงสิทธิมาได้ เพราะแต่ละเว็บมีสิทธิไม่เท่ากัน เมื่อเข้าระบบได้แล้ว แอดมินจะต้องมาให้สิทธิด้วยตัวเอง
#1

อยากทราบว่าสามารถใช้งานลักษณะ SSO ได้ไหมครับ
หน้าจอนี้ใช่ไหมครับ
กรณีของผม เป็น server ภายในเรียกใช้งานผ่าน IP ตามที่หมายเหตุไว้ ก็ไม่ต้องระบุอะไรก็ได้ใช่ไหมครับ
ในส่วน Api Url , Token, Secret ให้เอาจาระบบหลักไป save ในระบบอื่นๆ ผมเข้าใจถูกต้องไหมครับ
#2

API URL ต้องเป็นของเว็บหลัก
White List ใส่ 0.0.0.0
อื่นๆใช้ค่าที่ระบบแสดงได้เลย
แล้วก๊อปค่าทั้งหมดไปใส่ยังเว็บลูก ให้เป็นค่าเดียวกัน
#3

อ้างอิงจาก ความคิดเห็น #3API URL ต้องเป็นของเว็บหลัก
White List ใส่ 0.0.0.0
อื่นๆใช้ค่าที่ระบบแสดงได้เลย
แล้วก๊อปค่าทั้งหมดไปใส่ยังเว็บลูก ให้เป็นค่าเดียวกัน



ขอบคุณครับ
#4

อยากทราบว่าสามารถใช้งานลักษณะ SSO ได้ไหมครับ
ทดลองแล้วไม่ได้ครับ ผมกำหนดค่าอะไรผิดรึป่าว
#5

อยากทราบว่าสามารถใช้งานลักษณะ SSO ได้ไหมครับ
ผมลองใช้ postman ทดสอบ มันขึ้นแบบนี้ครับ

{
"code": 401,
"message": "Invalid token"
}
#6

ทดสอบ ขาด token
White List ใส่ 0.0.0.0 หรือ IP ที่เชื่อมต่อด้วย หรือ ใส่ IP ของฝั่งตรงข้าม
#7

อยากทราบว่าสามารถใช้งานลักษณะ SSO ได้ไหมครับ
ก็ยังไม่ผ่านครับ
{
"code": 403,
"message": "Invalid sign"
}
#8

ทำผิดที่ทดสอบด้วย postman นี่แหละ แนะนำให้ทำผ่านเว็บครับ (เป็นการรักษาความปลอดภัยของ API ครับ)
#9

อยากทราบว่าสามารถใช้งานลักษณะ SSO ได้ไหมครับ
พอลองแก้ไม่ตรวจสอบ ค่านี้ ApiController::validateSign ปรากฏว่า postman ดึงข้อมูลมาถูกต้องครับ ลองไล่ๆตรวจสอบดู เหมือนกับว่าค่าของ $sign มันไม่ตรงกับ \Kotchasan\Password::generateSign($params, self::$cfg->api_secret) เพราะว่า $params['sign'] เป็นค่าว่าง
#10

ใช่ครับ ฟังก์ชั่นมันตรวจสอบ sign ซึ่งทั่วๆไปถ้าใช้ผ่านระบบมันจะมีค่านี้แนบมาด้วย (ระบบสร้างให้) พอมาใช้ postman ก็อาจจะไม่ได้ส่งมา มันเลย error
sign มันใช้เพื่อยืนยันว่า ค่าที่ส่งมาไม่ได้ถูกแก้ไขครับกลางทางครับ (จะละเว้นก็ได้ ถ้าไม่ได้ซีเรียสมากนัก)
#11
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg, png ขนาดไฟล์ไม่เกิน 2M