อยากทราบว่าสามารถใช้งานลักษณะ SSO ได้ไหมครับ หน้าหลักเว็บบอร์ดทั่วไปอยากทราบว่าสามารถใช้งานลักษณะ SSO ได้ไหมครับ สุทธนิต ชัยขุนพล อยากทราบว่านอกจากการรวมโปรเจคแล้ว สามารถใช้วิธี SSO ได้หรือไม่ บางครั้งก็ไม่อยากเอาโปรเจคมารวมกัน แต่ก็ไม่อยากสร้าง user ใหม่บ่อยๆ และไม่อยากให้ Login ใหม่ตลอด ลักษณะคล้าย ระบบต่างๆ ของ Google ที่ Login ครั้งเดียวแล้วเข้าได้ทุกระบบ กรกฎ วิริยะ ได้ครับ โปรแกรมทุกตัวมี API ให้ใช้ 1. เลือกเว็บใดเว็บหนึ่งที่มีสมาชิกมากที่สุดเป็นเว็บแม่ เข้าไปตั้งค่า API สังเกตว่า ต้องเป็น URL ของเว็บตัวเอง แล้วกด Save 2. นำข้อมูลทั้งหมดในหน้า API ไปกำหนดให้เว็บลูกทุกเว็บที่ต้องการ เมื่อมีการเข้าระบบ จะมีการตรวจสอบการเข้าระบบที่เว็บตัวเองก่อน ถ้าไม่สามารถเข้าได้จะถูกส่งไปตรวจสอบที่ API อีกที หมายเหตุ การใช้งาน API จะมีแค่ข้อมูลส่วนตัวเท่านั้น ไม่สามารถดีงสิทธิมาได้ เพราะแต่ละเว็บมีสิทธิไม่เท่ากัน เมื่อเข้าระบบได้แล้ว แอดมินจะต้องมาให้สิทธิด้วยตัวเอง สุทธนิต ชัยขุนพล หน้าจอนี้ใช่ไหมครับ กรณีของผม เป็น server ภายในเรียกใช้งานผ่าน IP ตามที่หมายเหตุไว้ ก็ไม่ต้องระบุอะไรก็ได้ใช่ไหมครับ ในส่วน Api Url , Token, Secret ให้เอาจาระบบหลักไป save ในระบบอื่นๆ ผมเข้าใจถูกต้องไหมครับ กรกฎ วิริยะ API URL ต้องเป็นของเว็บหลัก White List ใส่ 0.0.0.0 อื่นๆใช้ค่าที่ระบบแสดงได้เลย แล้วก๊อปค่าทั้งหมดไปใส่ยังเว็บลูก ให้เป็นค่าเดียวกัน สุทธนิต ชัยขุนพล อ้างอิงจาก ความคิดเห็น #3API URL ต้องเป็นของเว็บหลัก White List ใส่ 0.0.0.0 อื่นๆใช้ค่าที่ระบบแสดงได้เลย แล้วก๊อปค่าทั้งหมดไปใส่ยังเว็บลูก ให้เป็นค่าเดียวกัน ขอบคุณครับ สุทธนิต ชัยขุนพล ทดลองแล้วไม่ได้ครับ ผมกำหนดค่าอะไรผิดรึป่าว สุทธนิต ชัยขุนพล ผมลองใช้ postman ทดสอบ มันขึ้นแบบนี้ครับ { "code": 401, "message": "Invalid token" } กรกฎ วิริยะ ทดสอบ ขาด token White List ใส่ 0.0.0.0 หรือ IP ที่เชื่อมต่อด้วย หรือ ใส่ IP ของฝั่งตรงข้าม สุทธนิต ชัยขุนพล ก็ยังไม่ผ่านครับ { "code": 403, "message": "Invalid sign" } กรกฎ วิริยะ ทำผิดที่ทดสอบด้วย postman นี่แหละ แนะนำให้ทำผ่านเว็บครับ (เป็นการรักษาความปลอดภัยของ API ครับ) สุทธนิต ชัยขุนพล พอลองแก้ไม่ตรวจสอบ ค่านี้ ApiController::validateSign ปรากฏว่า postman ดึงข้อมูลมาถูกต้องครับ ลองไล่ๆตรวจสอบดู เหมือนกับว่าค่าของ $sign มันไม่ตรงกับ \Kotchasan\Password::generateSign($params, self::$cfg->api_secret) เพราะว่า $params['sign'] เป็นค่าว่าง กรกฎ วิริยะ ใช่ครับ ฟังก์ชั่นมันตรวจสอบ sign ซึ่งทั่วๆไปถ้าใช้ผ่านระบบมันจะมีค่านี้แนบมาด้วย (ระบบสร้างให้) พอมาใช้ postman ก็อาจจะไม่ได้ส่งมา มันเลย error sign มันใช้เพื่อยืนยันว่า ค่าที่ส่งมาไม่ได้ถูกแก้ไขครับกลางทางครับ (จะละเว้นก็ได้ ถ้าไม่ได้ซีเรียสมากนัก) ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg, png ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
1. เลือกเว็บใดเว็บหนึ่งที่มีสมาชิกมากที่สุดเป็นเว็บแม่ เข้าไปตั้งค่า API สังเกตว่า ต้องเป็น URL ของเว็บตัวเอง แล้วกด Save
2. นำข้อมูลทั้งหมดในหน้า API ไปกำหนดให้เว็บลูกทุกเว็บที่ต้องการ
เมื่อมีการเข้าระบบ จะมีการตรวจสอบการเข้าระบบที่เว็บตัวเองก่อน ถ้าไม่สามารถเข้าได้จะถูกส่งไปตรวจสอบที่ API อีกที
หมายเหตุ การใช้งาน API จะมีแค่ข้อมูลส่วนตัวเท่านั้น ไม่สามารถดีงสิทธิมาได้ เพราะแต่ละเว็บมีสิทธิไม่เท่ากัน เมื่อเข้าระบบได้แล้ว แอดมินจะต้องมาให้สิทธิด้วยตัวเอง
กรณีของผม เป็น server ภายในเรียกใช้งานผ่าน IP ตามที่หมายเหตุไว้ ก็ไม่ต้องระบุอะไรก็ได้ใช่ไหมครับ
ในส่วน Api Url , Token, Secret ให้เอาจาระบบหลักไป save ในระบบอื่นๆ ผมเข้าใจถูกต้องไหมครับ
White List ใส่ 0.0.0.0
อื่นๆใช้ค่าที่ระบบแสดงได้เลย
แล้วก๊อปค่าทั้งหมดไปใส่ยังเว็บลูก ให้เป็นค่าเดียวกัน
ขอบคุณครับ
{
"code": 401,
"message": "Invalid token"
}
White List ใส่ 0.0.0.0 หรือ IP ที่เชื่อมต่อด้วย หรือ ใส่ IP ของฝั่งตรงข้าม
{
"code": 403,
"message": "Invalid sign"
}
sign มันใช้เพื่อยืนยันว่า ค่าที่ส่งมาไม่ได้ถูกแก้ไขครับกลางทางครับ (จะละเว้นก็ได้ ถ้าไม่ได้ซีเรียสมากนัก)