ฉันจะเรียกใช้ AWS API เพื่อ PutItem ลงในตาราง DynamoDB ผ่าน url ได้อย่างไร

ดังนั้นฉันจึงพยายามดำเนินการคำขอ PutItem จาก AWS API Gateway ของฉัน ฉันกำลังพยายามทำสิ่งนี้โดยใช้เส้นทาง /storeid/{username}/{password} ฉันได้ทำการแมปเป็น json แล้ว และการทดสอบภายใน API ทำงานได้อย่างสมบูรณ์ และฉันเห็นว่าข้อมูลของฉันแสดงในตาราง DynamoDB ของฉัน แต่เมื่อฉันปรับใช้ API และพยายามเรียกใช้คำขอนี้ ฉันได้รับการตอบกลับต่อไปนี้: {message:Missing Authentication Token }. คำขอนี้ไม่มีการอนุญาตหรือข้อกำหนดคีย์ API เหตุใดการทดสอบจึงใช้งานได้ แต่ไม่ใช่ URL เมื่อถูกเรียกใช้ ป.ล. ใช่ ฉันป้อน URL ที่ถูกต้อง

กรุณาช่วย!


person Joshua Meier    schedule 06.10.2020    source แหล่งที่มา
comment
สิ่งนี้ตอบคำถามของคุณหรือไม่? ไม่มีโทเค็นการตรวจสอบสิทธิ์ขณะเข้าถึง API Gateway   -  person JD D    schedule 06.10.2020


คำตอบ (1)


บางสิ่งที่ต้องตรวจสอบ

  1. ตรวจสอบว่าการอนุญาตตั้งค่าเป็นไม่มี (เช่น ไม่ใช่ IAM) ในการตั้งค่าคำขอวิธีการของคุณ
  2. ตรวจสอบว่าคุณปรับใช้การเปลี่ยนแปลง API ในพื้นที่ของคุณ ใช้คอนโซลคลิกการดำเนินการ - › ปรับใช้ API
  3. เมื่อปรับใช้แล้ว URL ที่จะใช้ควรแสดงขึ้นเมื่อคุณเลือกสเตจที่คุณปรับใช้ ตรวจสอบว่าคุณใช้ URL ที่ถูกต้อง

นอกจากนี้ โปรดทราบว่าการใส่รหัสผ่านในเส้นทาง URL หรือพารามิเตอร์การค้นหาเป็นความคิดที่ไม่ดี ลองส่งข้อมูลในเนื้อหาคำขอเป็น POST และดำเนินการบางอย่างเช่น HTTPS และการแฮชเพื่อปกป้องรหัสผ่าน

person JD D    schedule 06.10.2020
comment
ขออภัยฉันไม่ได้ให้บริบทเบื้องหลังคำถามนี้ ฉันกำลังทำสิ่งนี้สำหรับโครงการของโรงเรียน ดังนั้นข้อมูลทั้งหมดจะถูกสร้างขึ้นและใช้โดยทีมงานโครงการของฉันและฉันเท่านั้น ฉันได้ทำตามขั้นตอนที่ 1 ถึง 3 ของคุณหลายครั้งแล้ว ฉันยังคงได้รับข้อความโทเค็นที่หายไป ฉันลงรายการวิธีการไว้เป็นโพสต์แล้ว และการดำเนินการคือ PutItem ไม่แน่ใจว่าฉันสามารถทำอะไรได้อีก ฉันได้ค้นคว้า/ลองทำสิ่งนี้มาเป็นเวลาหนึ่งสัปดาห์แล้ว แต่ยังไม่สามารถเข้าใจได้ - person Joshua Meier; 06.10.2020
comment
อ่านคำตอบต่างๆ ในลิงก์ที่ฉันเพิ่มในความคิดเห็น มีสาเหตุหลายประการที่ทำให้โทเค็นการรับรองความถูกต้องหายไป - person JD D; 06.10.2020
comment
นอกจากนี้ หากคุณกำลังแสดงการกระทำของคุณเป็น POST การกดที่ URL บนเบราว์เซอร์กำลังดำเนินการ GET และจะไม่ทำงาน .. คุณจะเรียกใช้คำขอ POST ได้อย่างไร อาจลองใช้ บุรุษไปรษณีย์ - person JD D; 06.10.2020
comment
ลิงก์ที่คุณส่งฉันได้อ่านแล้วและลิงก์นั้นใช้ไม่ได้กับฉัน จะมีความแตกต่างหรือไม่หากฉันเปลี่ยนคำขอเป็น PUT ฉันจะดูบุรุษไปรษณีย์เมื่อฉันเห็นวิดีโอ YouTube ของผู้คนที่ใช้มัน ฉันไม่รู้ว่ามันคืออะไร ขอบคุณมากสำหรับการตอบกลับและความช่วยเหลือโดยวิธีการ!!!! - person Joshua Meier; 06.10.2020
comment
PUT จะไม่สร้างความแตกต่างที่นี่ คำขอ URL ของเบราว์เซอร์จะเป็น GET ตามค่าเริ่มต้น และคุณจะต้องดำเนินการบางอย่างที่แตกต่างออกไปเพื่อสร้างคำขอ POST หรือ PUT บุรุษไปรษณีย์ควรทำเคล็ดลับและเป็นเครื่องมือยอดนิยมในการทดสอบ REST API ที่ให้คุณระบุการกระทำ HTTP และเพิ่มส่วนหัวและเนื้อหาในคำขอของคุณโดยไม่ต้องเขียนโค้ดที่ชัดเจนเพื่อทดสอบ - person JD D; 06.10.2020
comment
ฉันอยากจะถามเพิ่มเติม แต่ฉันใช้บุรุษไปรษณีย์และสามารถทดสอบ API ได้และมันทำงานได้อย่างถูกต้องจากบุรุษไปรษณีย์ ฉันแค่ใช้ส่วนของโค้ดเพื่อดำเนินการคำขอโพสต์นี้หรือฉันต้องทำอะไรอย่างอื่นอีก ขออภัย ยังใหม่มากสำหรับการเขียนโปรแกรมประเภทนี้ - person Joshua Meier; 11.10.2020