อันไหนปลอดภัยกว่าและทำไม?
ทั้งสองอย่างปลอดภัยขึ้นอยู่กับสภาพแวดล้อมที่คุณใช้งาน
  ฉันไม่เห็นเหตุผลที่เพิ่มขั้นตอนพิเศษ (รหัสการอนุญาตแลกเปลี่ยนโทเค็น) ในเวิร์กโฟลว์เดียวเมื่อเซิร์ฟเวอร์สามารถออกโทเค็นการเข้าถึงได้โดยตรง
มันเป็นเรื่องง่าย ลูกค้าของคุณไม่ได้เป็นที่เชื่อถือได้ เรามาดูรายละเอียดกันดีกว่า
พิจารณาว่าคุณกำลังพัฒนาแอปพลิเคชั่Instagram APIนดังนั้นคุณจึงลงทะเบียนแอปของคุณด้วยInstagramและกำหนดว่าAPI'sคุณต้องการอะไร Instagramจะช่วยให้คุณพร้อมclient_idและclient_secrect
บนเว็บไซต์ของคุณคุณตั้งค่าการเชื่อมโยงซึ่งกล่าวว่า "มาและใช้แอปพลิเคชันของฉัน" คลิกที่นี้แอพลิเคชันเว็บของคุณควรจะทำให้ทั้งสองInstagram APIสายไปยัง
Firstส่งคำขอไปInstagram Authentication Serverกับด้านล่างพารามิเตอร์
1. `response_type` with the value `code`
2. `client_id` you have get from `Instagram`
3. `redirect_uri` this is a url on your server which do the second call
4. `scope` a space delimited list of scopes
5. `state` with a CSRF token. 
คุณไม่ส่งclient_secretคุณไม่สามารถเชื่อถือลูกค้าได้ (ผู้ใช้และหรือเบราว์เซอร์ของเขาที่พยายามใช้แอปพลิเคชันของคุณ) ลูกค้าสามารถดู URL หรือจาวาสคริปต์และค้นหาของคุณclient_secrectได้อย่างง่ายดาย นี่คือเหตุผลที่คุณต้องการขั้นตอนอื่น
คุณได้รับและcode ที่นี่คือstatecodetemporaryและไม่ได้มีการบันทึกไว้ที่ใด
จากนั้นให้คุณsecondโทรไปInstagram API(จากเซิร์ฟเวอร์ของคุณ)
 1. `grant_type` with the value of `authorization_code`
 2. `client_id` with the client identifier
 3. `client_secret` with the client secret
 4. `redirect_uri` with the same redirect URI the user was redirect back to
 5. `code` which we have already received.
เป็นสายที่ทำจากเซิร์ฟเวอร์ของเราอย่างปลอดภัยเราสามารถใช้client_secret(ซึ่งแสดงให้เห็นถึงวิธีการที่เรามี) ด้วยcodeซึ่งแสดงให้เห็นว่าผู้ใช้ที่ได้รับอนุญาตให้ออกclient_idการใช้ทรัพยากร
ในการตอบสนองเราจะได้ access_token