คำถามติดแท็ก authentication

การรับรองความถูกต้องเป็นกระบวนการของการตรวจสอบตัวตน

4
พาสปอร์ตเซสชัน () มิดเดิลแวร์ทำอะไร
ฉันกำลังสร้างระบบการตรวจสอบการใช้ Passport.js ใช้โหนดรับรองความถูกต้องง่ายต่อการติดตั้งและการกวดวิชาท้องถิ่น ฉันสับสนเกี่ยวกับสิ่งที่passport.session()ทำ หลังจากที่เล่นรอบกับตัวกลางที่แตกต่างกันฉันมาที่จะเข้าใจว่าexpress.session()คือสิ่งที่จะส่งรหัสเซสชันคุกกี้ให้กับลูกค้า แต่ฉันสับสนเกี่ยวกับสิ่งที่ทำและทำไมมันเป็นสิ่งจำเป็นที่นอกเหนือไปจากpassport.session()express.session() นี่คือวิธีตั้งค่าแอปพลิเคชันของฉัน: // Server.js กำหนดค่าแอปพลิเคชันและตั้งค่าเว็บเซิร์ฟเวอร์ //importing our modules var express = require('express'); var app = express(); var port = process.env.PORT || 8080; var mongoose = require('mongoose'); var passport = require('passport'); var flash = require('connect-flash'); var configDB = require('./config/database.js'); //Configuration of Databse and App mongoose.connect(configDB.url); //connect …

7
การตรวจสอบความถูกต้องของ Socket.IO
ฉันกำลังพยายามใช้ Socket.IO ใน Node.js และกำลังพยายามอนุญาตให้เซิร์ฟเวอร์ระบุตัวตนให้กับไคลเอ็นต์ Socket.IO แต่ละตัว เนื่องจากรหัสซ็อกเก็ตอยู่นอกขอบเขตของรหัสเซิร์ฟเวอร์ http จึงไม่สามารถเข้าถึงข้อมูลคำขอที่ส่งได้โดยง่ายดังนั้นฉันจึงคิดว่าจะต้องส่งขึ้นในระหว่างการเชื่อมต่อ วิธีที่ดีที่สุดคืออะไร 1) รับข้อมูลไปยังเซิร์ฟเวอร์เกี่ยวกับผู้ที่เชื่อมต่อผ่าน Socket.IO 2) รับรองความถูกต้องว่าพวกเขาเป็นใคร (ฉันกำลังใช้ Express อยู่ถ้าสิ่งนั้นง่ายขึ้น)

3
การรับรองความถูกต้อง ASP.NET Web API
ฉันกำลังมองหาในการตรวจสอบผู้ใช้จากโปรแกรมประยุกต์ไคลเอ็นต์ในขณะที่ใช้เว็บ ASP.NET API ฉันได้ดูวิดีโอทั้งหมดบนไซต์และอ่านโพสต์ในฟอรัมนี้ด้วย การใส่[Authorize]แอตทริบิวต์อย่างถูกต้องจะส่งคืน401 Unauthorizedสถานะ อย่างไรก็ตามฉันต้องการทราบวิธีอนุญาตให้ผู้ใช้เข้าสู่ระบบ API ฉันต้องการให้ข้อมูลรับรองผู้ใช้จากแอปพลิเคชัน Android ไปยัง API ให้ผู้ใช้เข้าสู่ระบบจากนั้นจึงมีการตรวจสอบสิทธิ์การเรียกใช้ API ที่ตามมาทั้งหมด

3
การรับรองความถูกต้องโดยใช้โทเค็น REST API
ฉันกำลังพัฒนา REST API ที่ต้องมีการพิสูจน์ตัวตน เนื่องจากการพิสูจน์ตัวตนเกิดขึ้นผ่านบริการเว็บภายนอกผ่าน HTTP ฉันจึงให้เหตุผลว่าเราจะแจกจ่ายโทเค็นเพื่อหลีกเลี่ยงการเรียกใช้บริการการตรวจสอบสิทธิ์ซ้ำ ๆ ซึ่งนำฉันไปสู่คำถามแรกของฉันอย่างเรียบร้อย: สิ่งนี้ดีไปกว่าการกำหนดให้ไคลเอนต์ใช้ HTTP Basic Auth ในแต่ละคำขอและแคชการโทรไปยังฝั่งเซิร์ฟเวอร์ของบริการตรวจสอบความถูกต้องหรือไม่? โซลูชันการตรวจสอบสิทธิ์ขั้นพื้นฐานมีข้อดีตรงที่ไม่ต้องใช้การเดินทางไปกลับแบบเต็มรูปแบบไปยังเซิร์ฟเวอร์ก่อนที่คำขอเนื้อหาจะเริ่มได้ โทเค็นอาจมีความยืดหยุ่นในขอบเขตมากขึ้น (เช่นให้สิทธิ์เฉพาะทรัพยากรหรือการกระทำบางอย่างเท่านั้น) แต่ดูเหมือนว่าเหมาะสมกับบริบท OAuth มากกว่ากรณีการใช้งานที่ง่ายกว่าของฉัน ปัจจุบันโทเค็นได้รับในลักษณะนี้: curl -X POST localhost/token --data "api_key=81169d80... &verifier=2f5ae51a... &timestamp=1234567 &user=foo &pass=bar" api_key, timestampและverifierถูกต้องตามคำขอทั้งหมด "ตัวยืนยัน" ส่งคืนโดย: sha1(timestamp + api_key + shared_secret) ความตั้งใจของฉันคืออนุญาตให้โทรจากบุคคลที่รู้จักเท่านั้นและเพื่อป้องกันไม่ให้มีการโทรซ้ำแบบคำต่อคำ ดีพอหรือยัง? Underkill? Overkill? ด้วยโทเค็นในมือลูกค้าสามารถรับทรัพยากร: curl localhost/posts?api_key=81169d80... &verifier=81169d80... &token=9fUyas64... &timestamp=1234567 …

7
ปัญหาโทเค็นต่อต้านการปลอมแปลง (MVC 5)
ฉันมีปัญหากับโทเค็นต่อต้านการปลอมแปลง :( ฉันได้สร้างคลาส User ของตัวเองซึ่งใช้งานได้ดี แต่ตอนนี้ฉันได้รับข้อผิดพลาดทุกครั้งที่ฉันไปที่หน้า/ บัญชี / ลงทะเบียนข้อผิดพลาดคือ: การอ้างสิทธิ์ประเภท " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier " หรือ " http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider " คือ ไม่มีอยู่ใน ClaimsIdentity ที่ระบุ หากต้องการเปิดใช้งานการสนับสนุนโทเค็นต่อต้านการปลอมแปลงด้วยการตรวจสอบสิทธิ์ตามการอ้างสิทธิ์โปรดตรวจสอบว่าผู้ให้บริการการอ้างสิทธิ์ที่กำหนดค่าไว้ให้การอ้างสิทธิ์ทั้งสองนี้ในอินสแตนซ์ ClaimsIdentity ที่สร้างขึ้น หากผู้ให้บริการการอ้างสิทธิ์ที่กำหนดค่าไว้ใช้ประเภทการอ้างสิทธิ์อื่นเป็นตัวระบุเฉพาะสามารถกำหนดค่าได้โดยการตั้งค่าคุณสมบัติคงที่ AntiForgeryConfig.UniqueClaimTypeIdentifier ฉันพบบทความนี้: http://stack247.wordpress.com/2013/02/22/antiforgerytoken-a-claim-of-type-nameidentifier-or-identityprovider-was-not-present-on-provided-claimsidentity/ ดังนั้นฉันจึงเปลี่ยนวิธีApplication_Startของฉันเป็น: protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Email; } แต่เมื่อฉันทำเช่นนั้นฉันได้รับข้อผิดพลาดนี้: ไม่มีการอ้างสิทธิ์ประเภท " http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress " ใน ClaimsIdentity ที่ระบุ มีใครเจอสิ่งนี้มาก่อนหรือไม่? …

12
MVC 5 เข้าถึงการอ้างสิทธิ์ข้อมูลตัวตนของผู้ใช้
ฉันกำลังพัฒนาเว็บแอปพลิเคชันMVC 5โดยใช้แนวทางแรกของฐานข้อมูล Entity Framework 5 ฉันใช้OWINสำหรับการรับรองความถูกต้องของผู้ใช้ ด้านล่างนี้แสดงวิธีการเข้าสู่ระบบของฉันภายใน Account Controller ของฉัน public ActionResult Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = _AccountService.VerifyPassword(model.UserName, model.Password, false); if (user != null) { var identity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, model.UserName), }, DefaultAuthenticationTypes.ApplicationCookie, ClaimTypes.Name, ClaimTypes.Role); identity.AddClaim(new Claim(ClaimTypes.Role, "guest")); identity.AddClaim(new Claim(ClaimTypes.GivenName, "A …

7
แอพยอดนิยมตรวจสอบสิทธิ์คำขอของผู้ใช้จากแอพมือถือไปยังเซิร์ฟเวอร์ได้อย่างไร
สมมติว่าฉันมีแอปพลิเคชัน Android ที่เชื่อมต่อกับ. Net API สำหรับรับ / ตั้งค่าข้อมูล ความสับสนที่ฉันมีคือเกี่ยวกับวิธีการลงทะเบียน / เข้าสู่ระบบผู้ใช้เป็นครั้งแรกและตรวจสอบสิทธิ์ทุกครั้งที่ส่งคำขอไปยัง API หากฉันใช้การตรวจสอบความถูกต้องตามชื่อผู้ใช้ / รหัสผ่านจะไม่ปลอดภัยเพียงพอ และฉันไม่สามารถบันทึกชื่อผู้ใช้ / รหัสผ่านนั้นในอุปกรณ์ได้ด้วยเหตุผลด้านความปลอดภัยอย่างแน่นอน? ฉันควรออก GUID สำหรับผู้ใช้ทุกคนเมื่อลงชื่อสมัครใช้บันทึกไว้ในอุปกรณ์และเรียกข้อมูลทุกครั้งในระหว่างการร้องขอ API หรือไม่ มีรูปแบบใดอีกบ้างที่มีประสิทธิภาพและปลอดภัยที่สุดฉันแค่ต้องการขั้นตอนกระบวนการเท่านั้น ใครช่วยบอกหน่อยได้ไหมว่าแอปพลิเคชั่น Android ที่มีชื่อเสียงเช่น Facebook, FourSquare หรือ Twitter ใช้วิธีใดในการตรวจสอบทุกคำขอที่มาจากแอปพลิเคชันมือถือไปยังเซิร์ฟเวอร์ของตน ขออภัยล่วงหน้าหากนั่นไม่ใช่ข้อมูลสาธารณะ

9
บริการเว็บ RESTful - จะตรวจสอบสิทธิ์คำขอจากบริการอื่นได้อย่างไร?
ฉันกำลังออกแบบบริการเว็บ RESTful ที่ผู้ใช้ต้องเข้าถึง แต่ยังรวมถึงบริการเว็บและแอปพลิเคชันอื่น ๆ ด้วย คำขอที่เข้ามาทั้งหมดจะต้องได้รับการตรวจสอบสิทธิ์ การสื่อสารทั้งหมดเกิดขึ้นผ่าน HTTPS การรับรองความถูกต้องของผู้ใช้จะทำงานตามโทเค็นการตรวจสอบความถูกต้องซึ่งได้มาจากการโพสต์ชื่อผู้ใช้และรหัสผ่าน (ผ่านการเชื่อมต่อ SSL) ไปยังทรัพยากร/ เซสชันที่ให้บริการโดยบริการ ในกรณีของไคลเอ็นต์บริการบนเว็บไม่มีผู้ใช้ปลายทางอยู่เบื้องหลังบริการไคลเอ็นต์ การร้องขอจะเริ่มต้นโดยงานตามกำหนดการเหตุการณ์หรือการทำงานของคอมพิวเตอร์อื่น ๆ รายชื่อบริการเชื่อมต่อเป็นที่รู้จักล่วงหน้า (แน่นอนฉันเดา) ฉันจะตรวจสอบสิทธิ์คำขอเหล่านี้ที่มาจากบริการอื่น ๆ (เว็บ) ได้อย่างไร? ฉันต้องการให้ขั้นตอนการตรวจสอบสิทธิ์ง่ายที่สุดในการนำไปใช้กับบริการเหล่านั้น แต่ไม่ต้องเสียค่าใช้จ่ายด้านความปลอดภัย อะไรคือมาตรฐานและแนวทางปฏิบัติที่ดีที่สุดสำหรับสถานการณ์เช่นนี้ ตัวเลือกที่ฉันคิดได้ (หรือได้รับการแนะนำให้ฉัน): ให้บริการไคลเอ็นต์หันมาใช้ชื่อผู้ใช้และรหัสผ่าน "ปลอม" และตรวจสอบสิทธิ์ในลักษณะเดียวกับผู้ใช้ ฉันไม่ชอบตัวเลือกนี้ - มันไม่ถูกต้อง กำหนดรหัสแอปพลิเคชันถาวรสำหรับบริการไคลเอ็นต์ซึ่งอาจเป็นรหัสแอปพลิเคชันด้วย เท่าที่ฉันเข้าใจนี่ก็เหมือนกับการมี username + password ด้วยรหัสและรหัสนี้ฉันสามารถตรวจสอบสิทธิ์แต่ละคำขอหรือสร้างโทเค็นการตรวจสอบสิทธิ์เพื่อพิสูจน์ตัวตนคำขอเพิ่มเติม ไม่ว่าจะด้วยวิธีใดฉันไม่ชอบตัวเลือกนี้เพราะใครก็ตามที่ได้รับรหัสแอปพลิเคชันและคีย์สามารถแอบอ้างเป็นลูกค้าได้ ฉันสามารถเพิ่มการตรวจสอบที่อยู่ IP ในตัวเลือกก่อนหน้าได้ ซึ่งจะทำให้คำขอปลอมทำได้ยากขึ้น ใบรับรองไคลเอ็นต์ ตั้งค่าผู้ออกใบรับรองของฉันเองสร้างใบรับรองหลักและสร้างใบรับรองไคลเอ็นต์สำหรับบริการไคลเอ็นต์ แม้ว่าจะมีปัญหาสองประการดังนี้ก) ฉันจะยังอนุญาตให้ผู้ใช้ตรวจสอบสิทธิ์โดยไม่มีใบรับรองได้อย่างไรและ b) …

5
JWT เทียบกับคุกกี้สำหรับการพิสูจน์ตัวตนที่ใช้โทเค็น
ฉันอ่านโพสต์เกี่ยวกับ"JWT vs Cookie"แต่มันทำให้ฉันสับสนมากขึ้นเท่านั้น ... ฉันต้องการคำชี้แจงเมื่อมีคนพูดถึง "การรับรองความถูกต้องโดยใช้โทเค็นเทียบกับคุกกี้" คุกกี้ในที่นี้หมายถึงคุกกี้เซสชันเท่านั้นหรือไม่ ความเข้าใจของฉันคือคุกกี้เป็นเหมือนสื่อสามารถใช้เพื่อใช้การตรวจสอบความถูกต้องโดยใช้โทเค็น (เก็บสิ่งที่สามารถระบุผู้ใช้ที่ลงชื่อเข้าใช้ในฝั่งไคลเอ็นต์ ) หรือการพิสูจน์ตัวตนตามเซสชัน (เก็บค่าคงที่ในฝั่งไคลเอ็นต์ ที่ตรงกับข้อมูลเซสชันทางฝั่งเซิร์ฟเวอร์ ) ทำไมเราต้องโทเค็นเว็บ JSON ? ฉันใช้คุกกี้มาตรฐานเพื่อใช้การรับรองความถูกต้องโดยใช้โทเค็น ( ไม่ใช้รหัสเซสชันไม่ใช้หน่วยความจำเซิร์ฟเวอร์หรือที่เก็บไฟล์ ): Set-Cookie: user=innocent; preferred-color=azureและข้อแตกต่างเพียงอย่างเดียวที่ฉันสังเกตเห็นคือ JWT มีทั้งน้ำหนักบรรทุกและลายเซ็น ... ในขณะที่คุณสามารถเลือกได้ ระหว่างคุกกี้ที่ลงชื่อหรือข้อความธรรมดาสำหรับส่วนหัว http ในความคิดของฉันคุกกี้ที่ลงชื่อ ( cookie:'time=s%3A1464743488946.WvSJxbCspOG3aiGi4zCMMR9yBdvS%2B6Ob2f3OG6%2FYCJM') มีประสิทธิภาพในการใช้พื้นที่มากกว่าข้อเสียเปรียบเพียงประการเดียวคือไคลเอนต์ไม่สามารถอ่านโทเค็นได้มีเพียงเซิร์ฟเวอร์เท่านั้นที่ทำได้ ... แต่ฉันคิดว่าดีเพราะเช่นเดียวกับการอ้างสิทธิ์ใน JWT เป็นทางเลือกไม่จำเป็นสำหรับโทเค็น มีความหมาย

3
ขั้นตอนการลงชื่อเพียงครั้งเดียวโดยใช้ JWT สำหรับการตรวจสอบสิทธิ์ข้ามโดเมน
มีข้อมูลมากมายบนเว็บเกี่ยวกับการใช้ JWT ( Json Web Token) สำหรับการพิสูจน์ตัวตน แต่ผมก็ยังไม่พบว่ามีคำอธิบายที่ชัดเจนของสิ่งที่ไหลควรจะเป็นเมื่อใช้ JWT สัญญาณสำหรับการลงชื่อเข้าใช้ในการแก้ปัญหาเดียวในสภาพแวดล้อมหลายโดเมน ฉันทำงานให้กับ บริษัท แห่งหนึ่งซึ่งมีไซต์จำนวนมากในโฮสต์ที่แตกต่างกัน ใช้ Let 's example1.comและexample2.com เราจำเป็นต้องมี single sign-on วิธีการแก้ปัญหาซึ่งหมายความว่าถ้าพิสูจน์ผู้ใช้บนexample1.comเราต้องการให้เขายังได้รับการรับรองความถูกต้องในexample2.comโดยอัตโนมัติ เมื่อใช้ขั้นตอนการเชื่อมต่อ OpenIdฉันเข้าใจว่าผู้ใช้ที่ต้องการตรวจสอบสิทธิ์บนexample1.comจะถูกเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์การตรวจสอบความถูกต้อง (หรือOP: "OpenId Provider") ผู้ใช้พิสูจน์ตัวตนบนเซิร์ฟเวอร์นั้นซึ่งจะเปลี่ยนเส้นทางเขากลับไปยังไซต์example1.comดั้งเดิมด้วยโทเค็น JWT ที่ลงชื่อ (ฉันเข้าใจว่ามีอีกขั้นตอนหนึ่งที่ส่งคืนโทเค็นระดับกลางที่สามารถแลกเปลี่ยนกับโทเค็น JWT จริงได้ในภายหลัง แต่ฉันไม่คิดว่าสิ่งนี้จำเป็นสำหรับเรา) ... ตอนนี้ผู้ใช้กลับมาที่example1.comและได้รับการรับรองความถูกต้องแล้ว! เขาสามารถส่งคำขอส่งโทเค็น JWT ในAuthenticationส่วนหัวและเซิร์ฟเวอร์สามารถตรวจสอบ JWT ที่ลงนามแล้วดังนั้นจึงสามารถระบุผู้ใช้ได้ ดี! คำถามแรก: ควรเก็บโทเค็น JWT บนไคลเอนต์อย่างไร นอกจากนี้อีกครั้งข้อมูลจำนวนมากเกี่ยวกับเรื่องนี้และคนที่ดูเหมือนจะยอมรับว่าการใช้เป็นวิธีที่จะไปมากกว่าดีเก่าWeb Storage cookiesเราต้องการให้ JWT คงอยู่ระหว่างการรีสตาร์ทเบราว์เซอร์ดังนั้นขอใช้Local …

8
การตรวจสอบความถูกต้องฝั่งเซิร์ฟเวอร์โทเค็นการเข้าถึง Facebook สำหรับแอพ iPhone
ฉันกำลังพัฒนาแอพพลิเคชั่น iPhone ซึ่งใช้การสื่อสารกับเซิร์ฟเวอร์และฉันต้องการใช้กลไกการตรวจสอบสิทธิ์ของ Facebook โดยทั่วไปฉันคิดว่ามันควรจะเป็นดังนี้: ในแอพ iPhone ของฉันผู้ใช้เข้าสู่ระบบ Facebook โดยใช้อีเมลและรหัสผ่านของเขา ผู้ใช้อนุญาตให้เข้าถึงข้อมูลของเขาสำหรับแอปพลิเคชัน Facebook ที่เกี่ยวข้อง แอพ iPhone ของฉันได้รับโทเค็นการเข้าถึงหลังจากเข้าสู่ระบบสำเร็จ ในการสื่อสารเพิ่มเติมกับเซิร์ฟเวอร์ของฉันแอปพลิเคชัน iPhone ของฉันควรใช้โทเค็นการเข้าถึง Facebook ที่ได้รับ (ตัวอย่างเช่นในการสืบค้น) เมื่อเซิร์ฟเวอร์ของฉันได้รับคำถามบางอย่างจากแอพ iPhone ด้วยโทเค็นการเข้าถึงควรถาม Facebook ว่าโทเค็นนี้ถูกต้อง (และสำหรับใคร) และถ้าใช่เซิร์ฟเวอร์ควรถือว่าผู้ใช้นั้นได้รับการรับรองความถูกต้องกับ Facebook คำถามของฉันคือเซิร์ฟเวอร์ควรถาม Facebook อย่างไรว่าโทเค็นการเข้าถึงที่กำหนดนั้นถูกต้องหรือไม่? ฉันคิดว่าฉันควรตรวจสอบว่าโทเค็นถูกต้องสำหรับแอพ Facebook ของฉันหรือไม่ ฉันได้ลองใช้ข้อความค้นหาของ Facebook หลายครั้งเพื่อสร้างกราฟ API แต่ก็ไม่มีอะไรได้ผลตามที่ฉันคาดไว้ คุณช่วยยกตัวอย่างให้ฉันได้ไหม

5
แนวทางปฏิบัติที่ดีที่สุดสำหรับการจัดการโทเค็น JWT ทางฝั่งเซิร์ฟเวอร์ [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ (เกิดจากหัวข้อนี้ตั้งแต่นี้เป็นจริงคำถามที่เฉพาะเจาะจงของตัวเองและไม่ให้ NodeJS ฯลฯ ) ฉันกำลังใช้เซิร์ฟเวอร์ REST API ด้วยการพิสูจน์ตัวตนและฉันได้ใช้การจัดการโทเค็น JWT สำเร็จแล้วเพื่อให้ผู้ใช้สามารถเข้าสู่ระบบผ่านปลายทาง / login ด้วยชื่อผู้ใช้ / รหัสผ่านซึ่งโทเค็น JWT ถูกสร้างขึ้นจากความลับของเซิร์ฟเวอร์และส่งกลับไปที่ ลูกค้า. จากนั้นโทเค็นจะถูกส่งผ่านจากไคลเอนต์ไปยังเซิร์ฟเวอร์ในแต่ละคำขอ API ที่พิสูจน์ตัวตนซึ่งใช้ความลับของเซิร์ฟเวอร์เพื่อตรวจสอบโทเค็น อย่างไรก็ตามฉันพยายามทำความเข้าใจแนวทางปฏิบัติที่ดีที่สุดว่าควรตรวจสอบโทเค็นอย่างไรและเพียงใดเพื่อสร้างระบบที่ปลอดภัยอย่างแท้จริง สิ่งที่ควรเกี่ยวข้องในการ "ตรวจสอบ" โทเค็นหรือไม่ เพียงพอหรือไม่ที่สามารถตรวจสอบลายเซ็นโดยใช้ความลับของเซิร์ฟเวอร์ได้หรือฉันควรตรวจสอบโทเค็นและ / หรือเพย์โหลดโทเค็นกับข้อมูลบางอย่างที่เก็บไว้ในเซิร์ฟเวอร์ ระบบตรวจสอบความถูกต้องโดยใช้โทเค็นจะปลอดภัยพอ ๆ กับการส่งชื่อผู้ใช้ / รหัสผ่านในแต่ละคำขอโดยมีเงื่อนไขว่าจะได้รับโทเค็นเท่ากันหรือยากกว่าการได้รับรหัสผ่านของผู้ใช้ อย่างไรก็ตามในตัวอย่างที่ฉันเห็นข้อมูลเดียวที่จำเป็นในการสร้างโทเค็นคือชื่อผู้ใช้และความลับฝั่งเซิร์ฟเวอร์ นี่ไม่ได้หมายความว่าสมมติว่าผู้ใช้ที่เป็นอันตรายได้รับความรู้เกี่ยวกับความลับของเซิร์ฟเวอร์เป็นเวลาหนึ่งนาทีตอนนี้เขาสามารถสร้างโทเค็นในนามของผู้ใช้รายใดก็ได้ดังนั้นการเข้าถึงไม่เพียง แต่ให้กับผู้ใช้ที่ได้รับรายเดียวตามความเป็นจริงถ้ารหัสผ่านคือ ได้รับ แต่ในความเป็นจริงสำหรับบัญชีผู้ใช้ทั้งหมด ? สิ่งนี้นำฉันไปสู่คำถาม: 1) การตรวจสอบโทเค็น …

4
การลงชื่อเพียงครั้งเดียวในหลายโดเมน [ปิด]
ตามที่กล่าวไว้ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา บริษัท ของเรามีการตั้งค่าหลายโดเมนโดยมีเว็บไซต์เดียวที่โฮสต์บนแต่ละโดเมน ในขณะนี้แต่ละโดเมนมีการตรวจสอบสิทธิ์ของตนเองซึ่งทำผ่านคุกกี้ เมื่อมีผู้เข้าสู่ระบบโดเมนหนึ่งต้องการเข้าถึงสิ่งใด ๆ จากอีกโดเมนหนึ่งผู้ใช้จะต้องเข้าสู่ระบบอีกครั้งโดยใช้ข้อมูลประจำตัวที่แตกต่างกันในเว็บไซต์อื่นซึ่งอยู่บนโดเมนอื่น ฉันกำลังคิดที่จะก้าวไปสู่การลงชื่อเพียงครั้งเดียวบน (SSO) เพื่อให้ความยุ่งยากนี้หมดไป ฉันจะขอบคุณความคิดใด ๆ เกี่ยวกับวิธีการนี้เนื่องจากฉันไม่มีประสบการณ์ในเรื่องนี้ ขอบคุณ. แก้ไข: เว็บไซต์เป็นแบบผสมผสานระหว่างไซต์อินเทอร์เน็ต (ภายนอก) และอินทราเน็ต (ใช้ภายใน บริษัท )

12
ฉันควรแฮชรหัสผ่านก่อนส่งไปยังฝั่งเซิร์ฟเวอร์หรือไม่?
ฉันสังเกตเห็นว่าไซต์ส่วนใหญ่ส่งรหัสผ่านเป็นข้อความธรรมดาผ่าน HTTPS ไปยังเซิร์ฟเวอร์ มีข้อดีหรือไม่ถ้าฉันส่งแฮชของรหัสผ่านไปยังเซิร์ฟเวอร์แทน จะปลอดภัยกว่าไหม

4
วิธีเพิ่มกลุ่มผู้ใช้ Active Directory เมื่อเข้าสู่ระบบใน SQL Server
ฉันมีแอปพลิเคชัน. net ซึ่งเชื่อมต่อกับ SQL Server โดยใช้การตรวจสอบสิทธิ์ของ windows เราไม่สามารถใช้การรับรองความถูกต้องของ SQL Server ในแอปพลิเคชัน เรามีผู้ใช้ Active Directory จำนวนมากสำหรับโครงการของเรา ดังนั้นเราจึงต้องสร้างบัญชีล็อกอินแยกกันสำหรับผู้ใช้ Active Directory แต่ละรายใน SQL Server แทนที่จะสร้างบัญชีล็อกอินแยกต่างหากสำหรับผู้ใช้ AD แต่ละรายมีวิธีใดบ้างในการใช้กลุ่มผู้ใช้ Active Directory ใน SQL Server

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.