ข้ามไปยังเนื้อหา

การล็อกอินและรหัสผ่าน

ตั้งค่า

กำหนดวิธีที่ทุกคนล็อกอิน ทั้งความยาวรหัสผ่าน ทางลัดสำหรับเครือข่ายในบ้าน และการล็อกอินจากภายนอก เฉพาะเจ้าของเท่านั้นที่เปลี่ยนค่าเหล่านี้ได้ ที่ Settings > Sign-in and security (การตั้งค่า > การล็อกอินและความปลอดภัย)

ตั้งรหัสผ่านสั้นที่สุดที่ยอมรับ

ลิงก์ไปยัง ตั้งรหัสผ่านสั้นที่สุดที่ยอมรับ
  1. เปิด Settings > Sign-in and security > Passwords (รหัสผ่าน)
  2. พิมพ์ตัวเลขตั้งแต่ 4 ถึง 64 ค่าเริ่มต้นคือ 8
  3. กด Save (บันทึก) หลังโหลดหน้าใหม่ ตัวเลขใหม่ควรยังอยู่

ค่าต่ำสุดนี้ใช้กับรหัสผ่านใหม่ทุกอัน ได้แก่ เจ้าของคนแรก คำเชิญที่ตอบรับแล้ว การเปลี่ยนที่ My account (บัญชีของฉัน) และ holyarrs reset-owner รหัสผ่านเดิมยังใช้ได้จนกว่าจะเปลี่ยนครั้งถัดไป รหัสผ่านยาวสุดได้ 1024 ตัวอักษร

ข้ามการล็อกอินในเครือข่ายภายในของฉัน

ลิงก์ไปยัง ข้ามการล็อกอินในเครือข่ายภายในของฉัน

อุปกรณ์ในเครือข่ายในบ้านจะเปิด HolyArrs เป็นเจ้าของได้เลยโดยไม่ต้องใช้รหัสผ่าน ปิดอยู่โดยค่าเริ่มต้น

  1. เปิด Settings > Sign-in and security > Local network (เครือข่ายภายใน)
  2. ใส่เครือข่ายของคุณ บรรทัดละหนึ่งรายการ ได้สูงสุด 32 รายการ ใส่เป็นช่วง (192.168.1.0/24, fd00::/8) หรือเป็นที่อยู่เดียว (192.168.1.20)
  3. เปิดสวิตช์แล้วบันทึก จะเห็นที่อยู่ของเครื่องคุณบนการ์ด

เปิดสวิตช์ไม่ได้ถ้ารายการว่าง หรือถ้ามี บัญชีเด็ก อยู่แม้แต่บัญชีเดียว การสร้าง API key การเปลี่ยนค่าการล็อกอิน การอ่านหรือเปลี่ยนความลับ และการกู้คืน Backup ยังต้องใช้รหัสผ่านเหมือนเดิม

บางรูปแบบการติดตั้งทำให้ทุกอุปกรณ์ดูเหมือนมาจากที่อยู่เกตเวย์เดียว เช่น Docker Desktop, Docker หรือ Podman แบบ rootless และ NodePort ของ Kubernetes ที่พบบ่อยคือ 172.17.0.1, 172.18.0.1 เป็นต้นไป, 10.88.0.1, 10.89.x.1, 10.0.2.2 และ 192.168.65.x

ถ้าใส่ที่อยู่เหล่านี้ ใครก็ตามที่เข้าถึง HolyArrs ได้จะเข้าได้ในฐานะเจ้าของ การ์ดจะเตือนเมื่อรายการดูเหมือนที่อยู่ประเภทนี้ ลองเปิดหน้านี้จากอุปกรณ์เครื่องที่สอง ถ้าแสดงที่อยู่เดียวกัน ให้ปิดสวิตช์แล้วเอารายการนั้นออก

เมื่ออยู่หลัง reverse proxy HolyArrs จะอ่านที่อยู่ที่ส่งต่อมาจากproxyที่อยู่ใน HOLYARRS_TRUSTED_PROXIES เท่านั้น ถ้าไม่ใช่ การ์ดจะไม่แสดงที่อยู่ และบอกว่าproxyไม่ได้รับความเชื่อถือ

ใช้ผู้ให้บริการ OpenID Connect ได้หนึ่งราย เพื่อให้คนล็อกอิน จะแสดงเป็นปุ่มบนหน้าล็อกอิน

  1. เปิด Settings > Sign-in and security > Single sign-on
  2. พิมพ์ issuer ของผู้ให้บริการ แล้วกด Test (ทดสอบ) การทดสอบไม่ส่งความลับไปด้วย
  3. พิมพ์ client id และ client secret ติ๊ก Public client (ไคลเอนต์สาธารณะ) ถ้าผู้ให้บริการไม่ใช้ secret
  4. คัดลอก Callback address (ที่อยู่ callback) แล้วลงทะเบียนที่อยู่นี้ตามที่เป็นเป๊ะ ๆ ที่ฝั่งผู้ให้บริการ
  5. พิมพ์รหัสผ่านของคุณ และรหัสสองขั้นตอนถ้าใช้อยู่ แล้วกด Save ทุกครั้งที่เปลี่ยนต้องยืนยันแบบนี้

จากนั้นเชื่อมบัญชีของคุณเอง ล็อกอินด้วยรหัสผ่าน เปิด My account ใต้ Linked sign-ins (การล็อกอินที่เชื่อมต่อ) กด Link (เชื่อมต่อ) ยืนยันรหัสผ่าน แล้วเลือก Single sign-on

ให้คนใหม่เข้าร่วมผ่าน single sign-on

ลิงก์ไปยัง ให้คนใหม่เข้าร่วมผ่าน single sign-on

ปิดอยู่โดยค่าเริ่มต้น เมื่อเปิด ใครก็ตามที่ผู้ให้บริการให้ล็อกอินจะได้บัญชี HolyArrs จึงให้คุณยืนยันก่อน คนใหม่เข้ามาเป็นสมาชิกที่ขอได้อย่างเดียว Single sign-on ไม่เคยสร้างเจ้าของหรือแอดมิน

ต้องพิมพ์ความลับอีกครั้ง การเชื่อมต่อเก่าจะถูกเอาออก และทุกคนที่เคยใช้ single sign-on จะถูกออกจากระบบ ต้องเชื่อมต่อใหม่ที่ My account การปิด single sign-on ก็ออกจากระบบให้พวกเขาเช่นกัน

ยกเลิกการเชื่อมต่อการล็อกอิน

ลิงก์ไปยัง ยกเลิกการเชื่อมต่อการล็อกอิน
  • ของคุณเอง: My account > Linked sign-ins > Unlink (ยกเลิกการเชื่อมต่อ) ต้องยืนยันรหัสผ่านภายในเวลาไม่นาน และจะถูกปฏิเสธถ้านี่เป็นทางเข้าทางเดียวของคุณ
  • ของคนอื่น: เจ้าของใช้ Settings > Users and roles (ผู้ใช้และบทบาท) ถ้านี่เป็นทางเข้าทางเดียวของคนนั้น HolyArrs จะถามยืนยันอีกครั้ง

การยกเลิกการเชื่อมต่อจะออกจากระบบอุปกรณ์ที่ใช้การล็อกอินนั้น ถ้าเปิดให้เข้าร่วมอยู่ คนเดิมกลับเข้ามาเป็นสมาชิกใหม่ได้ ปิดการเข้าร่วมถ้าต้องการกันไว้

อาการ: HolyArrs ขอรหัสผ่านอีกครั้ง สาเหตุ: การเปลี่ยนบัญชี คีย์ และค่าที่ตั้ง ต้องยืนยันรหัสผ่านภายใน 10 นาทีที่ผ่านมา รวมถึงรหัสสองขั้นตอนถ้าตั้งไว้ การล็อกอินจากภายนอกและทางลัดเครือข่ายภายในไม่นับ วิธีแก้: ยืนยันด้วยรหัสผ่าน การออกจากระบบและการเอาอุปกรณ์ออกไม่เคยถามรหัสผ่าน

อาการ: callback ล้มเหลวพร้อมข้อผิดพลาดสั้น ๆ และคุณยังไม่ได้ล็อกอิน สาเหตุ: ที่อยู่ callback ที่ฝั่งผู้ให้บริการไม่ตรงกับของ HolyArrs วิธีแก้: คัดลอก Callback address อีกครั้ง แล้ววางที่ฝั่งผู้ให้บริการให้ตรงทุกตัวอักษร

อาการ: บัญชีที่สร้างผ่าน single sign-on ตั้งรหัสผ่านไม่ได้ สาเหตุ: เวอร์ชันนี้ยังทำไม่ได้ วิธีแก้: สร้างเจ้าของแบบ local ก่อน แล้วค่อยเชื่อม single sign-on เข้ากับบัญชีนั้น

อาการ: ออกจากระบบ HolyArrs แล้ว แต่ยังล็อกอินอยู่ที่ผู้ให้บริการ สาเหตุ: HolyArrs ออกจากระบบให้เฉพาะของตัวเองเท่านั้น วิธีแก้: ถ้าเป็นอุปกรณ์ที่ใช้ร่วมกัน ให้ออกจากระบบที่ผู้ให้บริการด้วย

ลืมรหัสผ่านเจ้าของ? ดู เซสชันและรหัสผ่าน

การล็อกอินผ่านproxyที่เชื่อถือ

ถ้า reverse proxy ให้คนล็อกอินอยู่แล้ว HolyArrs จะรับชื่อที่proxyส่งมา ตั้งค่านี้ในตัวแปรสภาพแวดล้อมเท่านั้น จะแสดงเป็นปุ่มบนหน้าล็อกอิน การเข้าหน้าเว็บไม่เคยล็อกอินใครจากheaderอย่างเดียว

  • proxyต้องตัด Remote-User และ Remote-Name ที่เข้ามาออก แล้วตั้งของตัวเองหลังล็อกอิน
  • Remote-User: ชื่อคงที่หนึ่งชื่อ ไม่เกิน 255 ไบต์ Remote-Name: ชื่อที่แสดง ไม่บังคับ ไม่เกิน 200 ไบต์
  • ค่าที่ซ้ำ ค่าที่คั่นด้วยจุลภาค หรือค่าที่มีอักขระควบคุม จะถูกปฏิเสธ headerบทบาทจะถูกเมิน

ให้เข้า HolyArrs ได้ผ่านproxyนั้นเท่านั้น การเชื่อถือที่อยู่ของproxyหมายถึงเชื่อถือทุกชื่อที่proxyส่งมา เชื่อมต่อกับบัญชีได้จาก My account > Link trusted proxy sign-in

ตัวแปรสภาพแวดล้อม

ตั้งค่าเหล่านี้ก่อนเริ่ม ทั้งสองวิธีปิดอยู่จนกว่าจะเปิด ถ้าตั้งผิด HolyArrs จะไม่เริ่มทำงาน ถ้าผู้ให้บริการล่ม การล็อกอินด้วยรหัสผ่านก็ยังใช้ได้ ถ้ามีการตั้ง HOLYARRS_OIDC_ENABLED ไม่ว่าจะเป็นค่าใด แม้แต่ false ตัวแปรสภาพแวดล้อมจะเป็นผู้ควบคุม single sign-on และ Settings จะแสดงให้ดูเท่านั้น

ตัวแปร หน้าที่ ค่าเริ่มต้น
HOLYARRS_OIDC_ENABLED เปิด single sign-on false
HOLYARRS_OIDC_ISSUER issuer HTTPS ที่ตรงเป๊ะของผู้ให้บริการ ไม่มี
HOLYARRS_OIDC_CLIENT_ID client id ที่ลงทะเบียนไว้ ไม่มี
HOLYARRS_OIDC_CLIENT_SECRET_FILE ไฟล์ที่เก็บ client secret ไม่เกิน 4096 ไบต์ ถ้าเป็น public client ไม่ต้องใส่ ไม่มี
HOLYARRS_OIDC_REDIRECT_URL callback HTTPS ที่ตรงเป๊ะ: ที่อยู่ของคุณ ตามด้วย URL base ถ้ามี แล้วต่อด้วย /api/v1/auth/oidc/callback ไม่มี
HOLYARRS_OIDC_ALLOW_JOIN คนใหม่เข้ามาเป็นสมาชิกที่ขอได้อย่างเดียว false
HOLYARRS_OIDC_ALLOW_LOCAL_NETWORK อนุญาตผู้ให้บริการในเครือข่ายส่วนตัวของคุณ false
HOLYARRS_OIDC_ALLOW_LOOPBACK_HTTP อนุญาต HTTP ธรรมดาบน loopback สำหรับทดสอบ false
HOLYARRS_FORWARD_AUTH_ENABLED เปิดการล็อกอินผ่านproxyที่เชื่อถือ false
HOLYARRS_FORWARD_AUTH_ISSUER ชื่อ HTTPS คงที่ของproxyนี้ ค่าใหม่จะนับเป็นแหล่งใหม่ ไม่มี
HOLYARRS_FORWARD_AUTH_TRUSTED_PEERS ที่อยู่หรือช่วงของproxy คั่นด้วยจุลภาค ต้องใส่ ช่วงที่ครอบทุกที่อยู่จะถูกปฏิเสธ ไม่มี
HOLYARRS_FORWARD_AUTH_ALLOW_JOIN ชื่อใหม่จากproxyเข้ามาเป็นสมาชิกที่ขอได้อย่างเดียว false

ค่า ALLOW_LOCAL_NETWORK และ ALLOW_LOOPBACK_HTTP ทั้งสองตัวใช้กับ single sign-on ที่ตั้งใน Settings ด้วย

Single sign-on ทำงานอย่างไร
  • ผู้ให้บริการต้องรองรับการล็อกอินแบบ authorization code ที่ใช้ PKCE S256 และ token แบบ RS256 โดยทุก endpoint ต้องอยู่ใน origin ของ issuer
  • บัญชีจับคู่กันด้วย account id ของผู้ให้บริการเอง ไม่เคยใช้อีเมล
  • ไม่ใช้บทบาทและกลุ่มของผู้ให้บริการ
  • client secret เก็บแบบเข้ารหัสและไม่แสดงอีก เว้นช่องไว้ว่างถ้าต้องการเก็บค่าเดิม

HolyArrs ใช้ได้ฟรี ถ้าช่วยประหยัดเวลาคุณได้ กดดาวบน GitHub, สนับสนุนโปรเจกต์ หรือ เลี้ยงกาแฟผู้พัฒนา