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

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

ได้ครับ โปรแกรมทุกตัวมี 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 ขนาดไฟล์ไม่เกิน 1024