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

OAuth (Open Authorization) เป็นข้อกำหนดสำหรับไคลเอ็นต์แอปพลิเคชันในการเข้าถึงทรัพยากรที่มีการป้องกันในนามของผู้ใช้ มันถูกพัฒนาขึ้นเพื่อเป็นทางเลือกให้กับผู้ใช้ที่ส่งมอบข้อมูลรับรองการเข้าสู่ระบบไปยังแอปพลิเคชันบุคคลที่สาม

7
สถาปัตยกรรมสำหรับการรวมบัญชีผู้ใช้หลายบัญชีเข้าด้วยกัน
ตกลงฉันมีเว็บไซต์ที่คุณสามารถลงทะเบียนด้วยตัวคุณเองและเข้าสู่ระบบ นอกจากนี้คุณยังสามารถเข้าสู่ระบบด้วยบัญชี facebook, twitter หรือ linkedin ของคุณ เป็นสิ่งสำคัญที่ผู้ใช้จะต้องลงทะเบียนเพียงหนึ่งบัญชี ดังนั้นฉันต้องการรวมบัญชีของผู้ใช้หากพวกเขาใช้วิธีการต่าง ๆ ในการเข้าสู่ระบบ ทางออกที่ดีที่สุดในการแก้ปัญหานี้คืออะไร? ตัวอย่างเช่นผู้ใช้เข้าสู่ระบบด้วยบัญชี Facebook ของเขา ฉันใช้ข้อมูลเพื่อลงทะเบียนบัญชีสำหรับเขาโดยอัตโนมัติ ฉันควรส่งอีเมลพร้อมชื่อผู้ใช้และรหัสผ่านของเว็บไซต์ของเราหรือไม่ (หากเป็นไปตามนโยบายของ Facebook) ฉันควรให้หน้าจอที่สองที่พวกเขาสามารถกรอกชื่อผู้ใช้และรหัสผ่านได้หรือไม่ แต่นั่นไม่ใช่แนวคิดในการเข้าสู่ระบบด้วยบัญชี Facebook ของคุณ ควรทำให้ขั้นตอนของคุณง่ายขึ้นในการเข้าร่วม อาจเป็นไปได้ว่าผู้ใช้ลงทะเบียนตัวเองบนเว็บไซต์ของเราและครั้งต่อไปที่เขาลงชื่อเข้าใช้ด้วยบัญชีตัวสั่นด้วยความตื่นเต้น ฉันจะรวม 2 บัญชีเหล่านี้เข้าด้วยกันได้อย่างไร วิธีที่ดีที่สุดคืออะไร ดังนั้นโดยทั่วไปคำถามของฉันคือฉันได้ 4 วิธีที่แตกต่างกันที่ผู้ใช้เป็นสมาชิกของเว็บไซต์ของเรา ฉันจะแน่ใจได้อย่างไรว่าทั้ง 4 วิธีนี้สร้างเพียงหนึ่งบัญชีหากผู้ใช้ตัดสินใจที่จะใช้หลายวิธี การไหลที่ดีที่สุดคืออะไรเพื่อให้แน่ใจว่าผู้ใช้จะไม่สร้างความยุ่งยากให้กับตัวเอง? แก้ไข: 3 ปีหลังจากที่ฉันถามคำถามนี้ฉันจะให้คำตอบตัวเองในชุดของบทความ: https://www.peternijssen.nl/social-network-authentication-setup/ https://www.peternijssen.nl/social- network-authentication-google / https://www.peternijssen.nl/social-network-authentication-merging-accounts/ https://www.peternijssen.nl/social-network-authentication-twitter-facebook/


3
OAuth 2.0 Bearer Token คืออะไร?
ตามRFC6750 -The OAuth 2.0 การอนุมัติกรอบ: ถือ Token การใช้งานถือเป็นโทเค็น: โทเค็นการรักษาความปลอดภัยที่มีคุณสมบัติที่ฝ่ายใดฝ่ายหนึ่งครอบครองโทเค็น ("ผู้ถือ") สามารถใช้โทเค็นในลักษณะใด ๆ ที่บุคคลอื่น ๆ ที่ครอบครองสามารถ สำหรับฉันคำจำกัดความนี้คลุมเครือและฉันไม่พบข้อมูลจำเพาะใด ๆ สมมติว่าฉันกำลังใช้ผู้ให้บริการการอนุญาตฉันสามารถจัดหาสตริงประเภทใดก็ได้สำหรับผู้ถือโทเค็นหรือไม่ มันอาจจะเป็นสตริงสุ่ม? มันจะต้องมีการเข้ารหัส base64 ของคุณลักษณะบางอย่างหรือไม่? มันควรจะถูกแฮช และผู้ให้บริการจำเป็นต้องสอบถามผู้ให้บริการเพื่อตรวจสอบโทเค็นนี้หรือไม่ ขอบคุณสำหรับตัวชี้ใด ๆ

9
อะไรคือความแตกต่างระหว่างรหัสการอนุญาต OAuth และเวิร์กโฟลว์โดยนัย จะใช้เมื่อใด?
OAuth 2.0 มีหลายเวิร์กโฟลว์ ฉันมีคำถามสองสามข้อเกี่ยวกับทั้งสอง โฟลว์รหัสการอนุญาต - ผู้ใช้ลงชื่อเข้าใช้จากแอปไคลเอ็นต์เซิร์ฟเวอร์การอนุญาตจะส่งคืนรหัสการอนุญาตไปยังแอป จากนั้นแอพจะแลกเปลี่ยนรหัสการอนุญาตสำหรับโทเค็นการเข้าถึง การให้สิทธิ์โดยปริยาย - ผู้ใช้ลงชื่อเข้าใช้จากแอปไคลเอ็นต์เซิร์ฟเวอร์การอนุญาตจะออกโทเค็นการเข้าถึงแอปไคลเอ็นต์โดยตรง ความแตกต่างระหว่างสองแนวทางในแง่ของความปลอดภัยคืออะไร? อันไหนปลอดภัยกว่าและทำไม? ฉันไม่เห็นเหตุผลที่เพิ่มขั้นตอนพิเศษ (รหัสการอนุญาตแลกเปลี่ยนโทเค็น) ในเวิร์กโฟลว์เดียวเมื่อเซิร์ฟเวอร์สามารถออกโทเค็นการเข้าถึงได้โดยตรง เว็บไซต์ต่างๆกล่าวว่าการไหลของรหัสการอนุญาตใช้เมื่อแอปไคลเอ็นต์สามารถรักษาข้อมูลรับรองได้อย่างปลอดภัย ทำไม?
165 oauth  oauth-2.0 

7
OAuth: จะทดสอบกับ URL ในเครื่องได้อย่างไร
ฉันพยายามที่จะทดสอบOAuthปุ่ม แต่พวกเขาทั้งหมด (Facebook, Twitter, LinkedIn) กลับมามีข้อผิดพลาดที่ดูเหมือนจะส่งสัญญาณว่าฉันไม่สามารถทดสอบหรือใช้พวกเขาจากท้องถิ่น URL คนทั่วไปจะทำงานกับการพัฒนากับสิ่ง OAuth อย่างไรหากพวกเขาดูเหมือนจะต้องการสภาพแวดล้อมการเชื่อมต่อที่ไม่ใช่แบบ devและไม่ใช่ท้องถิ่น
155 oauth  localhost 

5
วิธีการตรวจสอบโทเค็นการเข้าถึง OAuth 2.0 สำหรับเซิร์ฟเวอร์ทรัพยากร
เมื่อลูกค้าขอให้เซิร์ฟเวอร์ทรัพยากรรับทรัพยากรที่มีการป้องกันด้วยโทเค็นการเข้าถึง OAuth 2.0 เซิร์ฟเวอร์นี้จะตรวจสอบโทเค็นอย่างไร โปรโตคอลโทเค็นการรีเฟรช OAuth 2.0 หรือไม่
147 oauth  oauth-2.0 

2
การรักษาความปลอดภัย REST API ของฉันด้วย OAuth ในขณะที่ยังคงอนุญาตให้ตรวจสอบสิทธิ์ผ่านผู้ให้บริการ OAuth บุคคลที่สาม (ใช้ DotNetOpenAuth)
ฉันมีผลิตภัณฑ์ที่มี REST API ตรงไปตรงมาเพื่อให้ผู้ใช้ผลิตภัณฑ์สามารถรวมเข้ากับคุณสมบัติของผลิตภัณฑ์ได้โดยตรงโดยไม่ต้องใช้ส่วนต่อประสานผู้ใช้บนเว็บของฉัน เมื่อเร็ว ๆ นี้ฉันได้รับความสนใจจากบุคคลที่สามที่หลากหลายเกี่ยวกับการรวมไคลเอ็นต์เดสก์ท็อปเข้ากับ API เพื่อให้ผู้ใช้ผลิตภัณฑ์ของฉันเข้าถึงข้อมูลโดยใช้แอปพลิเคชันบุคคลที่สามนั้น ฉันเห็นว่าแอปพลิเคชันที่ต้องการใช้ Twitter รับรองความถูกต้องโดยใช้หน้าเข้าสู่ระบบซึ่งโฮสต์โดย Twitter ซึ่งให้สิทธิ์แอปพลิเคชันเฉพาะในการเข้าถึงข้อมูลของผู้ใช้นั้น คุณคลิกปุ่ม "อนุญาต" หรือ "ปฏิเสธ" และกระบวนการรับรองความถูกต้องเสร็จสมบูรณ์ Facebook ใช้กลไกเดียวกับที่ฉันบอกได้ดีที่สุด จากการวิจัยเพิ่มเติมดูเหมือนว่านี่จะเป็น OAuth ในการดำเนินการและเนื่องจาก API ของฉันเป็นแบบ. Net ฉันคิดว่าฉันควรใช้ DotNetOpenAuth และให้กลไกที่คล้ายกัน น่าเสียดายที่ตัวอย่างมีการจัดทำเป็นเอกสารอย่างกระจัดกระจาย (ถ้าเป็นอย่างนั้น) และแบบฝึกหัดเดียวที่ฉันสามารถค้นหาทางออนไลน์ดูเหมือนจะเพ่งความสนใจไปที่การให้คุณมีกลไกการเข้าสู่ระบบสำหรับผู้ใช้ของคุณเพื่อให้พวกเขาสามารถเข้าสู่เว็บไซต์ สิ่งที่ฉันอยากทำจริงๆคือให้ REST API ของฉันจัดการกับการรับรองความถูกต้องหลักและตรรกะทางธุรกิจทั้งหมดสำหรับเว็บแอปพลิเคชันของฉันและมีแอปพลิเคชันบนเว็บของฉันเป็นแอพพลิเคชันอื่นที่ใช้ API ผ่าน OAuth ผู้ใช้จะรับรองความถูกต้องบนเว็บไซต์โดยใช้ชื่อผู้ใช้และรหัสผ่านโดยตรงหรือผ่านทางผู้ให้บริการบุคคลที่สามเช่น MyOpenID หรือ Facebook จากนั้นเว็บไซต์จะใช้โทเค็นที่ส่งคืนเพื่อรับรองความถูกต้องกับ REST API ดูเหมือนว่าฉันต้องการ API ของฉันเพื่อโฮสต์บริการ …

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

9
ฉันจะตรวจสอบโทเค็นการเข้าถึง API การตรวจสอบความถูกต้องของ Google ได้อย่างไร
ฉันจะตรวจสอบโทเค็นการเข้าถึงการตรวจสอบสิทธิ์ของ Google ได้อย่างไร ฉันต้องการสอบถาม Google และถาม: [โทเค็นการเข้าถึงที่ได้รับ] ถูกต้องสำหรับบัญชี Google [example@example.com] หรือไม่ เวอร์ชันสั้น : มีความชัดเจนว่าโทเค็นการเข้าถึงที่ให้มาผ่านGoogle Authentication Api :: OAuth Authentication สำหรับแอปพลิเคชันเว็บสามารถใช้เพื่อขอข้อมูลจากบริการต่างๆของ Google ได้อย่างไร ไม่มีความชัดเจนในการตรวจสอบว่าโทเค็นการเข้าถึงที่ระบุนั้นถูกต้องสำหรับบัญชี Google ที่ระบุหรือไม่ ฉันต้องการทราบวิธีการ เวอร์ชันยาว : ฉันกำลังพัฒนา API ที่ใช้การตรวจสอบความถูกต้องโดยใช้โทเค็น โทเค็นจะถูกส่งคืนเมื่อมีการระบุชื่อผู้ใช้ + รหัสผ่านที่ถูกต้องหรือเมื่อมีการจัดหาโทเค็นของบุคคลที่สามจากบริการใด ๆ ที่สามารถตรวจสอบได้N หนึ่งในบริการของบุคคลที่สามคือ Google ซึ่งอนุญาตให้ผู้ใช้ตรวจสอบสิทธิ์กับบริการของฉันโดยใช้บัญชี Google ของตน ต่อไปจะขยายไปถึงบัญชี Yahoo ผู้ให้บริการ OpenID ที่เชื่อถือได้เป็นต้น ตัวอย่างแผนผังของการเข้าถึงโดยใช้ Google: ข้อความแสดงแทน http://webignition.net/images/figures/auth_figure002.png …

13
โทเค็นการเข้าถึง Facebook Oauth 2.0 หมดอายุหรือไม่
ฉันกำลังเล่นกับการอนุญาต Oauth 2.0 ใน Facebook และรู้สึกสงสัยว่าโทเค็นการเข้าถึง Facebook จะหมดอายุหรือไม่ ถ้าเป็นเช่นนั้นมีวิธีขอโทเค็นการเข้าถึงที่มีอายุการใช้งานยาวนานหรือไม่?
124 facebook  oauth 

5
วิธีจัดเก็บโทเค็นการเข้าถึงและความลับใน Android อย่างปลอดภัย
ฉันจะใช้ oAuth เพื่อดึงอีเมลและรายชื่อติดต่อจาก Google ฉันไม่ต้องการขอให้ผู้ใช้ทุกครั้งที่เข้าสู่ระบบเพื่อรับโทเค็นการเข้าถึงและความลับ จากสิ่งที่ฉันเข้าใจฉันจำเป็นต้องจัดเก็บไว้กับแอปพลิเคชันของฉันทั้งในฐานข้อมูลหรือSharedPreferences. แต่ฉันค่อนข้างกังวลเกี่ยวกับด้านความปลอดภัยเกี่ยวกับเรื่องนี้ ฉันอ่านว่าคุณสามารถเข้ารหัสและถอดรหัสโทเค็นได้ แต่ผู้โจมตีเพียงแค่ถอดรหัส apk และคลาสของคุณและรับคีย์การเข้ารหัสนั้นเป็นเรื่องง่าย วิธีใดดีที่สุดในการจัดเก็บโทเค็นเหล่านี้อย่างปลอดภัยใน Android

14
ข้อความเข้าสู่ระบบ Facebook:“ URL ถูกบล็อก: การเปลี่ยนเส้นทางนี้ล้มเหลวเนื่องจาก URI การเปลี่ยนเส้นทางไม่อยู่ในรายการที่อนุญาตพิเศษในการตั้งค่า OAuth ไคลเอ็นต์ของแอป”
ประกาศสำคัญ: หากท่านลงทะเบียนสำหรับการทดสอบให้ไปที่การตั้งค่าโปรไฟล์ของคุณและที่คุณสนใจเพิ่มรายละเอียดลบ พยายามเข้าสู่ระบบด้วย Facebook ไปยังเว็บไซต์ของฉัน: ฉันได้รับข้อผิดพลาดต่อไปนี้: URL ถูกบล็อก: การเปลี่ยนเส้นทางนี้ล้มเหลวเนื่องจาก URI การเปลี่ยนเส้นทางไม่อยู่ในรายการที่อนุญาตพิเศษในการตั้งค่า OAuth ไคลเอ็นต์ของแอป ตรวจสอบให้แน่ใจว่าการเข้าสู่ระบบ OAuth ไคลเอ็นต์และเว็บเปิดอยู่และเพิ่มโดเมนแอปทั้งหมดของคุณเป็น URI การเปลี่ยนเส้นทาง OAuth ที่ถูกต้อง settings(พื้นฐาน) ของฉันใน Facebook คือ: App Domains: openstrategynetwork.com URL ของเว็บไซต์สำหรับwebsite: http://openstrategynetwork.com/ ในแท็บขั้นสูงValid OAuth redirect URIsตั้งค่าเป็น: http://openstrategynetwork.com/_oauth/facebook?close แอพคือpublic. การตั้งค่าเพิ่มเติม (ขั้นสูง) ที่นี่: รหัสแอปและข้อมูลลับถูกต้อง ฉันใช้ Meteor และแพ็คเกจบัญชีของมัน

3
อะไรคือความแตกต่างระหว่าง JWTs และ Bearer Token?
ฉันกำลังเรียนรู้บางอย่างเกี่ยวกับ Authorization เช่น Basic, Digest, OAuth2.0, JWTs และ Bearer Token ตอนนี้ฉันมีคำถาม คุณทราบดีว่ามีการใช้ JWT เป็น Access_Token ในมาตรฐาน OAuth2.0 JWT ปรากฏที่ RFC 7519 และ Bearer Token อยู่ที่ RFC 6750 ตัวอย่างเช่นผู้ถือ: Authorization: Bearer <token> ฉันเคยส่งโทเค็นไปยังเซิร์ฟเวอร์โดย AJAX หรือเพิ่มโทเค็นลงในสตริงการสืบค้นของ url ฉันรู้ว่าโทเค็นสามารถส่งได้โดยเพิ่มลงในส่วนหัวของคำขอ นั่นหมายความว่าควรเพิ่มโทเค็นในส่วนหัว Authorization Bearer หรือไม่ คุณช่วยบอกความสัมพันธ์ระหว่าง JWTs และ Bearer Token ได้ไหม ขอบคุณมาก.
121 oauth  token  jwt 


3
Facebook Access Token สำหรับเพจ
ฉันมีหน้า Facebook ที่ฉันต้องการได้รับบางสิ่งบางอย่างจากมัน สิ่งแรกคือฟีดและจากสิ่งที่ฉันอ่านมันเป็นแบบสาธารณะ (ไม่จำเป็นต้องใช้ access_token) แต่ฉันต้องการรับกิจกรรม ... และพวกเขาไม่ได้เป็นสาธารณะและต้องการ access_token ฉันไม่ต้องการให้ผู้ใช้ล็อกอินใน Facebook หรืออะไรทำนองนั้น ฉันแค่ต้องการส่งข้อมูลทั้งหมดที่ทำได้จากหน้านี้เท่านั้น นั่นเป็นเหตุผลที่ผมทิ้งแล้วหลายตัวอย่างที่ผมพบได้ที่นี่และเป็นหนึ่งในhttps://developers.facebook.com/blog/post/500/เพราะพวกเขาต้องการให้ผู้ใช้เข้าสู่ระบบหรือต้องมีการกระทำของผู้ใช้บางอย่างผมไม่ได้ interessed สิ่งที่ฉันต้องการคือแอปพลิเคชัน Facebook ของฉันมีการอนุญาตอย่างสมบูรณ์และ access_token เพื่อผลักดันข้อมูลจากหน้า Facebook ที่ฉันเป็นเจ้าของ (ผู้ดูแลระบบ) เป็นไปได้หรือไม่ ฉันลองมาหลายอย่างแล้ว แต่ดูเหมือนจะไม่ได้ผล ฉันลองคลิกที่: https://www.facebook.com/dialog/oauth?client_id=150635421702954&redirect_uri=http://MY_URL/&scope=manage_pages&response_type=token&fields=access_token - เปลี่ยน MY_URL เป็นไซต์ของฉันและขอการอนุญาตในการแก้ไขทุกๆ เพจฉันเป็นเจ้าของ แม้จะไม่เป็นสิ่งที่ฉันต้องการฉันก็คลิก แต่ไม่มี access_token ตอบแทน ...

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