[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"schema-global-basic:vi-VN":3,"developer-center-document-stjk6a2euo5bb9rnu5xidl9y-vi-VN":52},{"@graph":4,"@context":51},[5],{"@id":6,"name":7,"@type":8,"itemListElement":9},"https://www.esignglobal.com/#pages","Các phần chính của trang web","ItemList",[10,15,19,23,27,31,35,39,43,47],{"item":11,"@type":13,"position":14},{"@id":12},"https://www.esignglobal.com/customer-story#list","ListItem",1,{"item":16,"@type":13,"position":18},{"@id":17},"https://www.esignglobal.com/integrations#overview",2,{"item":20,"@type":13,"position":22},{"@id":21},"https://www.esignglobal.com/features#overview",3,{"item":24,"@type":13,"position":26},{"@id":25},"https://www.esignglobal.com/pricing#catalog",4,{"item":28,"@type":13,"position":30},{"@id":29},"https://www.esignglobal.com/eSignature-Legality#guide",5,{"item":32,"@type":13,"position":34},{"@id":33},"https://www.esignglobal.com/contact-sales#contact",6,{"item":36,"@type":13,"position":38},{"@id":37},"https://www.esignglobal.com/developers#overview",7,{"item":40,"@type":13,"position":42},{"@id":41},"https://www.esignglobal.com/resources#hub",8,{"item":44,"@type":13,"position":46},{"@id":45},"https://www.esignglobal.com/news#center",9,{"item":48,"@type":13,"position":50},{"@id":49},"https://www.esignglobal.com/blog#hub",10,"https://schema.org",{"apiTree":53,"documentTree":356,"securityTree":437,"detail":438},[54],{"id":55,"documentId":56,"title":57,"sort":14,"parent_id":58,"only_as_menu":59,"type":60,"nodeId":56,"routeId":56,"children":61},1943,"o4686obgtwjoscs5s6xooyi1","Tài liệu API","0",true,"api",[62,73,136,177,202,219,249,275,291,351],{"id":63,"documentId":64,"title":65,"sort":14,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":64,"routeId":64,"children":66},1496,"b1jzh5soo88eektjgjg0z9cj","oAuth2",[67],{"id":68,"documentId":69,"title":70,"sort":14,"parent_id":64,"only_as_menu":71,"type":60,"nodeId":69,"routeId":69,"children":72},1995,"mmcjntoocjtwl1frc6khk3k4","Ủy quyền oAuth",false,[],{"id":74,"documentId":75,"title":76,"sort":50,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":75,"routeId":75,"children":77},1457,"emn5khbfwir61or7uzo7mrde","Quản lý phong bì",[78,83,88,94,100,106,112,118,124,130],{"id":79,"documentId":80,"title":81,"sort":14,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":80,"routeId":80,"children":82},3293,"q9infiuohmf1fui6dj083hxj","Tạo nhanh phong bì",[],{"id":84,"documentId":85,"title":86,"sort":50,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":85,"routeId":85,"children":87},2761,"xlp3m1z044jtkeopyh7ccm5e","Tạo phong bì",[],{"id":89,"documentId":90,"title":91,"sort":92,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":90,"routeId":90,"children":93},1891,"ewmccs9nc11erxmwmg7ye609","Mở phong bì",20,[],{"id":95,"documentId":96,"title":97,"sort":98,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":96,"routeId":96,"children":99},1845,"k1tcxkpirnvc17wubklucx6d","Kết thúc phong bì",40,[],{"id":101,"documentId":102,"title":103,"sort":104,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":102,"routeId":102,"children":105},1741,"xup11xm3pvlk7lkvejly03t4","Lấy địa chỉ ký",50,[],{"id":107,"documentId":108,"title":109,"sort":110,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":108,"routeId":108,"children":111},3163,"pgwry228y585ip83zux1m7ky","Xem chi tiết phong bì",60,[],{"id":113,"documentId":114,"title":115,"sort":116,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":114,"routeId":114,"children":117},2515,"n383yqr1z4cw0g2tncva1i9l","Hủy phong bì",70,[],{"id":119,"documentId":120,"title":121,"sort":122,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":120,"routeId":120,"children":123},1509,"kfn3jzvf0coqrmgsyal5s3h7","Phong bì nhắc nhở",80,[],{"id":125,"documentId":126,"title":127,"sort":128,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":126,"routeId":126,"children":129},1865,"fsagl9dy4ybdzgef0sfek43a","Lấy địa chỉ trang ký xem trước",90,[],{"id":131,"documentId":132,"title":133,"sort":134,"parent_id":75,"only_as_menu":71,"type":60,"nodeId":132,"routeId":132,"children":135},2462,"yohj3fn3f4ydc19bda85u0au","Tạo chế độ xem gửi phong bì",100,[],{"id":137,"documentId":138,"title":139,"sort":92,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":138,"routeId":138,"children":140},1793,"ouy9r6x8lqhj09nuza6s28kq","Quản lý tập tin",[141,146,151,156,162,167,172],{"id":142,"documentId":143,"title":144,"sort":14,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":143,"routeId":143,"children":145},1969,"uklome95b6imdx8l1s4kvpne","Tải lên tập tin",[],{"id":147,"documentId":148,"title":149,"sort":50,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":148,"routeId":148,"children":150},1819,"r3sk47rnpk5laxqcvasszzj7","Lấy tọa độ theo từ khóa",[],{"id":152,"documentId":153,"title":154,"sort":92,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":153,"routeId":153,"children":155},3184,"dygf6h69qejdsxxzzi1zzetb","Tải xuống tệp",[],{"id":157,"documentId":158,"title":159,"sort":160,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":158,"routeId":158,"children":161},1689,"b0uxzdvf2umyejj9td3go60x","Thêm tài liệu ký",30,[],{"id":163,"documentId":164,"title":165,"sort":98,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":164,"routeId":164,"children":166},1559,"c2s5iyao8xl60jnu9fyld71b","Xóa tài liệu đã ký",[],{"id":168,"documentId":169,"title":170,"sort":104,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":169,"routeId":169,"children":171},1663,"mq2v1gptzmgbxdnpt2naew0z","Thêm tệp đính kèm",[],{"id":173,"documentId":174,"title":175,"sort":110,"parent_id":138,"only_as_menu":71,"type":60,"nodeId":174,"routeId":174,"children":176},1715,"pd7zcrwaudxp9n5nhmax66th","Xóa tệp đính kèm",[],{"id":178,"documentId":179,"title":180,"sort":160,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":179,"routeId":179,"children":181},1470,"v8y4g3ok61tys8mwr0fjmq5g","Quản lý bên tham gia",[182,187,192,197],{"id":183,"documentId":184,"title":185,"sort":14,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":184,"routeId":184,"children":186},3312,"maun35qmz3kx9haku23zhmme","Thêm người ký",[],{"id":188,"documentId":189,"title":190,"sort":50,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":189,"routeId":189,"children":191},1535,"xp595dh8tlzle8lt9bo3lyyt","Xóa người ký",[],{"id":193,"documentId":194,"title":195,"sort":92,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":194,"routeId":194,"children":196},2866,"h434ytbkhv0177b778achv7u","Thêm người nhận CC",[],{"id":198,"documentId":199,"title":200,"sort":160,"parent_id":179,"only_as_menu":71,"type":60,"nodeId":199,"routeId":199,"children":201},1522,"jw2f0dtk7ddfpbrwn2oo9rmc","Xóa người nhận CC",[],{"id":203,"documentId":204,"title":205,"sort":206,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":204,"routeId":204,"children":207},3069,"qx2bl5kl3s0bwzvdkmzp71zh","Mẫu phong bì",35,[208,214],{"id":209,"documentId":210,"title":211,"sort":212,"parent_id":204,"only_as_menu":71,"type":60,"nodeId":210,"routeId":210,"children":213},3103,"m53jxnuxwkayx1b7mnk3adca","Tra cứu chi tiết mẫu phong bì",0,[],{"id":215,"documentId":216,"title":217,"sort":50,"parent_id":204,"only_as_menu":71,"type":60,"nodeId":216,"routeId":216,"children":218},3140,"smkcnczbyllcva0e51xbud5p","Sử dụng mẫu phong bì để khởi tạo ký",[],{"id":220,"documentId":221,"title":222,"sort":98,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":221,"routeId":221,"children":223},1611,"ais40oqq7r11n67gc0vrbd3v","Dịch vụ mẫu",[224,229,234,239,244],{"id":225,"documentId":226,"title":227,"sort":14,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":226,"routeId":226,"children":228},3209,"s7f24t0vc3oh7xjc1vd54min","Lấy chi tiết thành phần mẫu người ký",[],{"id":230,"documentId":231,"title":232,"sort":18,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":231,"routeId":231,"children":233},2645,"pqznounxwcdqpjjlo427cp2v","Lấy thông tin chi tiết về mẫu",[],{"id":235,"documentId":236,"title":237,"sort":50,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":236,"routeId":236,"children":238},2020,"nlabl9lmcchamxb4xb2sotgf","Điền vào mẫu để tạo tệp",[],{"id":240,"documentId":241,"title":242,"sort":92,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":241,"routeId":241,"children":243},1767,"h6u1p3mm2q9jh22drwhx7w3x","Truy vấn danh sách mẫu",[],{"id":245,"documentId":246,"title":247,"sort":160,"parent_id":221,"only_as_menu":71,"type":60,"nodeId":246,"routeId":246,"children":248},1637,"upq57humugxijzhzsfl01e2r","Truy vấn chi tiết nhiệm vụ tổng hợp tệp",[],{"id":250,"documentId":251,"title":252,"sort":253,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":251,"routeId":251,"children":254},2202,"r6a999am8z6ay9r6q78m9szt","Quản lý con dấu",45,[255,260,265,270],{"id":256,"documentId":257,"title":258,"sort":14,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":257,"routeId":257,"children":259},2254,"ap2udsj6jmd3f7nq1t2wtb6n","Tạo tem",[],{"id":261,"documentId":262,"title":263,"sort":18,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":262,"routeId":262,"children":264},2228,"e27cq9n53oiassrm9dusczah","Chỉnh sửa tem",[],{"id":266,"documentId":267,"title":268,"sort":22,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":267,"routeId":267,"children":269},2304,"nhodhim2gs6b0fnmhai68jl2","Xóa tem",[],{"id":271,"documentId":272,"title":273,"sort":26,"parent_id":251,"only_as_menu":71,"type":60,"nodeId":272,"routeId":272,"children":274},2280,"za70ia3hau1jmhh1odey7648","Truy vấn danh sách tem",[],{"id":276,"documentId":277,"title":278,"sort":279,"parent_id":56,"only_as_menu":59,"type":60,"nodeId":277,"routeId":277,"children":280},2567,"vjgy9wyqpueas3ifwl4sqtxo","So sánh hợp đồng",49,[281,286],{"id":282,"documentId":283,"title":284,"sort":14,"parent_id":277,"only_as_menu":71,"type":60,"nodeId":283,"routeId":283,"children":285},2593,"ncci0s4sdebcqnpez9hta140","Lấy trang kết quả so sánh hợp đồng",[],{"id":287,"documentId":288,"title":289,"sort":30,"parent_id":277,"only_as_menu":71,"type":60,"nodeId":288,"routeId":288,"children":290},2729,"czpws8dh6ef4ynxxwmgu796b","Xem chi tiết so sánh hợp đồng",[],{"id":292,"documentId":293,"title":294,"sort":104,"parent_id":56,"only_as_menu":71,"type":60,"nodeId":293,"routeId":293,"children":295},1585,"e3esec8grw834hdls3c5uket","Sự kiện gọi lại",[296,301,306,311,316,321,326,331,336,341,346],{"id":297,"documentId":298,"title":299,"sort":14,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":298,"routeId":298,"children":300},2434,"oqef89swtse7xva7ihxd4eah","Thông báo mở phong bì",[],{"id":302,"documentId":303,"title":304,"sort":50,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":303,"routeId":303,"children":305},2098,"m2b3cny59zr2019zx101vlq6","Thông báo người ký tên đã ký hoàn tất",[],{"id":307,"documentId":308,"title":309,"sort":92,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":308,"routeId":308,"children":310},2072,"ktoxlvvrj5777zxi5oqoebun","Thông báo tất cả những người ký tên đã ký xong",[],{"id":312,"documentId":313,"title":314,"sort":160,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":313,"routeId":313,"children":315},2046,"c4g7knax4y890stvlk89zrgl","Thông báo hoàn tất ký phong bì",[],{"id":317,"documentId":318,"title":319,"sort":206,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":318,"routeId":318,"children":320},2488,"z5a7ce3eu1vayhclx05l4boz","Người ký xem thông báo phong bì",[],{"id":322,"documentId":323,"title":324,"sort":98,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":323,"routeId":323,"children":325},2124,"f6udt0g3kk1ty67u8o9dn0s3","Thông báo thu hồi phong bì",[],{"id":327,"documentId":328,"title":329,"sort":104,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":328,"routeId":328,"children":330},2150,"xn1qw8wfeosuql9e4qd983gx","Thông báo phong bì hết hạn",[],{"id":332,"documentId":333,"title":334,"sort":110,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":333,"routeId":333,"children":335},2176,"hzf0ipligf96y2hsh4yrz8q7","Ký thông báo tạm dừng nhiệm vụ",[],{"id":337,"documentId":338,"title":339,"sort":116,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":338,"routeId":338,"children":340},1917,"dkyp87hoikayfcnpi7misr3z","Thông báo kết quả tổng hợp tệp",[],{"id":342,"documentId":343,"title":344,"sort":122,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":343,"routeId":343,"children":345},2619,"zcv1ch0olb5ecpzo2u7jfw0e","Thông báo Callback kết quả so sánh hợp đồng",[],{"id":347,"documentId":348,"title":349,"sort":122,"parent_id":293,"only_as_menu":71,"type":60,"nodeId":348,"routeId":348,"children":350},2697,"il87aup17m7ydala24kjkhev","Gửi thư thất bại",[],{"id":352,"documentId":353,"title":354,"sort":110,"parent_id":56,"only_as_menu":71,"type":60,"nodeId":353,"routeId":353,"children":355},1483,"lqqpn7hfhf3xzgf2d9vz9h7u","Bảng đối chiếu mã lỗi",[],[357],{"id":358,"documentId":359,"title":360,"sort":14,"parent_id":58,"only_as_menu":59,"type":361,"nodeId":359,"routeId":359,"children":362},560,"kmxyx6s30cspdrb6lpq2vlmw","Hướng dẫn dành cho nhà phát triển","document",[363,368,385,390],{"id":364,"documentId":365,"title":366,"sort":14,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":365,"routeId":365,"children":367},612,"nqxvj8fpudh1phhwzjxyrqie","Hướng dẫn tích hợp",[],{"id":369,"documentId":370,"title":371,"sort":26,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":370,"routeId":370,"children":372},760,"rwuzqa9wdd8ifr9d2psn2oll","Hướng dẫn tích hợp đối tác hệ sinh thái ISV",[373,379],{"id":374,"documentId":375,"title":376,"sort":377,"parent_id":370,"only_as_menu":71,"type":361,"nodeId":375,"routeId":375,"children":378},741,"stjk6a2euo5bb9rnu5xidl9y","Hướng dẫn tích hợp chế độ mã ủy quyền OAuth2.0",41,[],{"id":380,"documentId":381,"title":382,"sort":383,"parent_id":370,"only_as_menu":71,"type":361,"nodeId":381,"routeId":381,"children":384},791,"i640wop6allavqk5recnkqal","Mô tả phạm vi giao diện ứng dụng hệ sinh thái ISV",42,[],{"id":386,"documentId":387,"title":388,"sort":30,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":387,"routeId":387,"children":389},599,"pu5by7nny465eng8uuhqfau6","Lưu ý",[],{"id":391,"documentId":392,"title":393,"sort":50,"parent_id":359,"only_as_menu":71,"type":361,"nodeId":392,"routeId":392,"children":394},586,"vfj16znziy18o17n4sc5y7ng","Sự kiện Webhook",[395,400,405,410,416,421,426,432],{"id":396,"documentId":397,"title":299,"sort":398,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":397,"routeId":397,"children":399},462,"zf1p4cqkhirgzmjqq9pk0a3i",11,[],{"id":401,"documentId":402,"title":304,"sort":403,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":402,"routeId":402,"children":404},488,"fznrramnzm5xmc8xs34bqck1",12,[],{"id":406,"documentId":407,"title":309,"sort":408,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":407,"routeId":407,"children":409},514,"yiz759dqo68gqbyhvq2zfquk",13,[],{"id":411,"documentId":412,"title":413,"sort":414,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":412,"routeId":412,"children":415},384,"caadherlspjkiayulikfh1og","Thông báo hoàn thành ký phong bì",14,[],{"id":417,"documentId":418,"title":324,"sort":419,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":418,"routeId":418,"children":420},410,"wxwcvoo5k3tx99cf3at6iiwm",15,[],{"id":422,"documentId":423,"title":329,"sort":424,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":423,"routeId":423,"children":425},436,"anv65ys13nincm1kmfp7v512",16,[],{"id":427,"documentId":428,"title":429,"sort":430,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":428,"routeId":428,"children":431},625,"fjy4rotdw8b6r66mkflvur4c","Thông báo từ chối phê duyệt của người ký",110,[],{"id":433,"documentId":434,"title":349,"sort":435,"parent_id":392,"only_as_menu":71,"type":361,"nodeId":434,"routeId":434,"children":436},540,"gcgzjrnf215vhmixw7obvrtd",120,[],[],{"id":374,"documentId":375,"title":376,"content":439,"sort":377,"is_visible":59,"parent_id":370,"only_as_menu":71,"createdAt":440,"updatedAt":441,"publishedAt":442,"locale":443,"seo":444},"\u003Carticle class=\"4ever-article\" style=\"-webkit-text-stroke-width:0px;caret-color:rgb(0, 0, 0);color:rgb(0, 0, 0);font-style:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-thickness:auto;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;\">\u003Ch2 style=\"font-size:18pt;line-height:20.4px;margin-bottom:9px;margin-left:0px;margin-top:21.333333px;text-align:left;text-indent:0px;\">\u003Cspan style=\"font-size:16pt;\">\u003Cspan data-type=\"text\">\u003Cstrong>Trình tự gọi\u003C/strong>\u003C/span>\u003C/span>\u003C/h2>\u003Cfigure class=\"image\">\u003Cimg alt=\"image.png\" src=\"https://static.esignglobal.com/image_4047164e07.png\" srcset=\"https://static.esignglobal.com/thumbnail_image_4047164e07.png 245w, https://static.esignglobal.com/small_image_4047164e07.png 500w, https://static.esignglobal.com/medium_image_4047164e07.png 750w\" sizes=\"100vw\" width=\"750\">\u003C/figure>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Tổng quan\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">OAuth 2.0 là một giao thức ủy quyền được sử dụng rộng rãi, cho phép các ứng dụng bên thứ ba truy cập tài nguyên của người dùng thông qua sự cho phép của họ mà không cần tiết lộ thông tin xác thực. Trong chế độ mã ủy quyền (Authorization Code) của OAuth 2.0, máy khách cần hướng người dùng truy cập vào điểm cuối ủy quyền (Authorization Endpoint) của máy chủ ủy quyền để lấy sự cho phép của người dùng.\u003C/span>\u003C/p>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Tài liệu này nhằm mục đích mô tả chi tiết cách xây dựng và sử dụng địa chỉ ủy quyền theo giao thức OAuth 2.0, đồng thời cung cấp các ví dụ thực tế và những lưu ý.\u003C/span>\u003C/p>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:20.4px;margin-bottom:9px;margin-left:0px;margin-top:21.333333px;text-align:left;text-indent:0px;\">\u003Cspan style=\"font-size:16pt;\">\u003Cspan data-type=\"text\">\u003Cstrong>I. Xây dựng URL để lấy mã ủy quyền\u003C/strong>\u003C/span>\u003C/span>\u003C/h2>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Cấu trúc cơ bản của địa chỉ ủy quyền\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Địa chỉ ủy quyền là URL được máy khách sử dụng khi gửi yêu cầu đến máy chủ ủy quyền. Nó bao gồm các thành phần sau:\u003C/span>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"plaintext\" data-theme=\"default\">https://&lt;authorization-server-domain&gt;/oauth?\n    response_type=&lt;response_type&gt;&amp;\n    clientId=&lt;client_id&gt;&amp;\n    redirectUri=&lt;redirect_uri&gt;&amp;\n    scope=&lt;scope&gt;&amp;\n    state=&lt;state&gt;\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Giải thích tham số\u003C/span>\u003C/h3>\u003Cfigure class=\"table\" style=\"width:731px;\">\u003Ctable class=\"ck-table-resized\" style=\"border-collapse:collapse;table-layout:fixed;\">\u003Ccolgroup>\u003Ccol style=\"width:33.33%;\" width=\"216\">\u003Ccol style=\"width:33.33%;\" width=\"114\">\u003Ccol style=\"width:33.34%;\" width=\"401\">\u003C/colgroup>\u003Ctbody>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Tên tham số\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Bắt buộc hay không\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Mô tả\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">response_type\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Bắt buộc\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Loại ủy quyền, thường là \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">(biểu thị việc sử dụng chế độ mã ủy quyền)\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr style=\"height:41px;\">\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">clientId\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Bắt buộc\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Mã định danh duy nhất của client,\u003C/span>\u003Cspan style=\"color:rgb(0,0,0);font-size:12pt;\">\u003Cspan data-type=\"text\">tức là&nbsp;APP ID\u003C/span>\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirectUri\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Bắt buộc\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Địa chỉ đích chuyển hướng sau khi cấp quyền hoàn tất, phải khớp với địa chỉ callback khi đăng ký client.\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr style=\"height:65px;\">\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Bắt buộc\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Phạm vi quyền hạn yêu cầu, hiện hỗ trợ\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">signature\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">stamp\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">comparisons\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">, sau khi cấp quyền, có thể yêu cầu các openapi có sẵn của eSignGlobal. Các scope có thể phân cách bằng dấu cách.\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Tùy chọn\u003C/span>\u003C/p>\u003C/td>\u003Ctd style=\"border-color:rgb(0, 0, 0);overflow-wrap:break-word;overflow:hidden;padding:4px 8px;vertical-align:top;\" colspan=\"1\" rowspan=\"1\">\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Chuỗi ngẫu nhiên dùng để ngăn chặn tấn công CSRF, do client tạo ra và xác minh tính nhất quán khi callback.\u003C/span>\u003C/p>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\u003C/figure>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Các bước ghép nối địa chỉ cấp quyền\u003C/span>\u003C/h2>\u003Col style=\"list-style-type:decimal;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Xác định địa chỉ máy chủ cấp quyền\u003C/strong>  Môi trường sandbox là: https://account-sml.esignglobal.com/oauth\u003C/span>\u003C/div>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Môi trường production là: https://account.esignglobal.com/oauth\u003C/span>\u003C/p>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Thiết lập giá trị tham số\u003C/strong>  Dựa trên nhu cầu thực tế, thiết lập giá trị cho từng tham số. Dưới đây là một ví dụ:\u003C/span>\u003C/div>\u003Cul style=\"list-style-type:circle;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">response_type\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">clientId\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">your-client-id-12345\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirectUri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https://your-app.com/callback\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">signature\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">: \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">random-state-value\u003C/span>\u003C/code>\u003C/div>\u003C/li>\u003C/ul>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Ghép các tham số truy vấn\u003C/strong> Sau khi ghép các tham số trên theo dạng cặp khóa-giá trị vào địa chỉ máy chủ ủy quyền, sử dụng \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">&amp;\u003C/span>\u003C/code>\u003Cspan data-type=\"text\"> để nối từng tham số. Lưu ý, giá trị tham số cần được mã hóa URL.\u003C/span>\u003C/div>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Kết quả ghép mẫu:\u003C/span>\u003C/p>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"plaintext\" data-theme=\"default\">https://account-sml.esignglobal.com/oauth?\n    response_type=code&amp;\n    clientId=your-client-id-12345&amp;\n    redirectUri=https%3A%2F%2Fyour-app.com%2Fcallback&amp;\n    scope=signature&amp;\n    state=random-state-value\u003C/code>\u003C/pre>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Kiểm tra kết quả ghép\u003C/strong> Đảm bảo địa chỉ sau khi ghép đáp ứng các yêu cầu sau:\u003C/span>\u003C/div>\u003Cul style=\"list-style-type:circle;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Thứ tự tham số có thể tùy ý\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Giá trị tham số đã được mã hóa URL chính xác\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Đã bao gồm tất cả các tham số bắt buộc\u003C/span>\u003C/div>\u003C/li>\u003C/ul>\u003C/li>\u003C/ol>\u003Cfigure class=\"image\">\u003Cimg alt=\"2.png\" src=\"https://static.esignglobal.com/2_4d2f50b136.png\" srcset=\"https://static.esignglobal.com/thumbnail_2_4d2f50b136.png 245w, https://static.esignglobal.com/small_2_4d2f50b136.png 500w, https://static.esignglobal.com/medium_2_4d2f50b136.png 750w, https://static.esignglobal.com/large_2_4d2f50b136.png 1000w\" sizes=\"100vw\" width=\"1000\">\u003C/figure>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Mã ví dụ\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Dưới đây là mã ví dụ về cách ghép địa chỉ ủy quyền trong một số ngôn ngữ lập trình phổ biến:\u003C/span>\u003C/p>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Ví dụ Python\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"python\" data-theme=\"default\">import urllib.parse\n\n# 定义参数\nbase_url = \"https://account-sml.esignglobal.com/oauth\"\nparams = {\n    \"response_type\": \"code\",\n    \"clientId\": \"your-client-id-12345\",\n    \"redirectUri\": \"https://your-app.com/callback\",\n    \"scope\": \"signature\",\n    \"state\": \"random-state-value\"\n}\n\n# 拼接地址\nquery_string = urllib.parse.urlencode(params)\nauthorization_url = f\"{base_url}?{query_string}\"\nprint(authorization_url)\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Ví dụ JavaScript\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"javascript\" data-theme=\"default\">// 定义参数\nconst baseUrl = \"https://account-sml.esignglobal.com/oauth\";\nconst params = new URLSearchParams({\n    response_type: \"code\",\n    clientId: \"your-client-id-12345\",\n    redirectUri: \"https://your-app.com/callback\",\n    scope: \"signature\",\n    state: \"random-state-value\"\n});\n\n// 拼接地址\nconst authorizationUrl = `${baseUrl}?${params.toString()}`;\nconsole.log(authorizationUrl);\u003C/code>\u003C/pre>\u003Ch3 style=\"font-size:14.5pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Ví dụ Java\u003C/span>\u003C/h3>\u003Cpre>\u003Ccode class=\"language-plaintext\" data-syntax=\"java\" data-theme=\"default\">import java.net.URLEncoder;\nimport java.nio.charset.StandardCharsets;\n\npublic class OAuthUrlBuilder {\n\n    public static void main(String[ ] args) throws Exception {\n\n        // 定义参数\n        String baseUrl = \"https://account-sml.esignglobal.com/oauth\";\n        String responseType = \"code\";\n        String clientId = \"your-client-id-12345\";\n        String redirectUri = \"https://your-app.com/callback\";\n        String scope = \"signature\";\n        String state = \"random-state-value\";\n\n        // 拼接查询参数\n        String queryString = String.format(\n            \"response_type=%s&amp;clientId=%s&amp;redirectUri=%s&amp;scope=%s&amp;state=%s\",\n            URLEncoder.encode(responseType, StandardCharsets.UTF_8),\n            URLEncoder.encode(clientId, StandardCharsets.UTF_8),\n            URLEncoder.encode(redirectUri, StandardCharsets.UTF_8),\n            URLEncoder.encode(scope, StandardCharsets.UTF_8),\n            URLEncoder.encode(state, StandardCharsets.UTF_8)\n        );\n\n        // 生成完整的授权地址\n        String authorizationUrl = baseUrl + \"?\" + queryString;\n        System.out.println(authorizationUrl);\n    }\n}\u003C/code>\u003C/pre>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">&nbsp;\u003C/p>\u003Chr>\u003Ch2 style=\"font-size:18pt;line-height:1.4;margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Các điểm cần lưu ý\u003C/span>\u003C/h2>\u003Cp style=\"margin-bottom:0px;margin-left:0px;margin-top:0px;text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">Khi xây dựng và sử dụng URL ủy quyền, cần lưu ý các điểm sau:\u003C/span>\u003C/p>\u003Col style=\"list-style-type:decimal;\">\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Tính chính xác của mã hóa URL\u003C/strong>  Tất cả các giá trị tham số phải được mã hóa URL (\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">percent-encoding\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">) để đảm bảo các ký tự đặc biệt (như \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">:\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">/\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">、\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">?\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  v.v.) không làm phá vỡ cấu trúc URL. Ví dụ,\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https://your-app.com/callback\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  nên được mã hóa thành \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https%3A%2F%2Fyour-app.com%2Fcallback\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">。\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Tính nhất quán của địa chỉ chuyển hướng\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  Giá trị của tham số phải hoàn toàn trùng khớp với địa chỉ chuyển hướng đã đăng ký bởi máy khách trên máy chủ ủy quyền, bao gồm giao thức (\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">http\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  hoặc \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">https\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">), tên máy chủ, cổng và đường dẫn. Nếu không, máy chủ ủy quyền sẽ từ chối yêu cầu.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">\u003Cstrong>state\u003C/strong>\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">\u003Cstrong>  Tính bảo mật của tham số\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  Tham số này được sử dụng để ngăn chặn tấn công giả mạo yêu cầu liên trang (CSRF). Máy khách nên tạo một chuỗi ngẫu nhiên, không thể dự đoán và xác minh trong quá trình gọi lại sau khi người dùng hoàn tất ủy quyền rằng \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">state\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  có khớp với giá trị ban đầu đã gửi hay không.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Tính hợp lý của phạm vi quyền\u003C/strong>\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">scope\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  Tham số xác định phạm vi quyền mà máy khách đang yêu cầu. Cần lựa chọn phạm vi quyền tối thiểu phù hợp với nhu cầu thực tế, tránh yêu cầu quá mức tài nguyên người dùng, qua đó nâng cao niềm tin của người dùng.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Phân biệt môi trường\u003C/strong>  Trong giai đoạn phát triển và kiểm thử, thường sử dụng môi trường sandbox (như \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">account-sml.esignglobal.com\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">），sau khi chính thức đưa lên vận hành, cần chuyển sang môi trường production (như \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">account.esignglobal.com\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">），đảm bảo sử dụng đúng địa chỉ máy chủ ủy quyền trong các môi trường khác nhau.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Xử lý thông tin sau khi ủy quyền thành công\u003C/strong>  Sau khi hoàn tất ủy quyền, dịch vụ ủy quyền eSignGlobal sẽ thông qua\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">nối để trả về\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">code\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">và\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">baseUrl\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">，thông qua\u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">baseUrl\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">có thể xác định được trung tâm dữ liệu chứa dữ liệu của bên ủy quyền, khi thực hiện yêu cầu openapi, cần phải khởi tạo yêu cầu dựa trên trung tâm dữ liệu tương ứng.\u003C/span>\u003C/div>\u003C/li>\u003Cli>\u003Cdiv style=\"text-align:left;text-indent:0px;\">\u003Cspan data-type=\"text\">\u003Cstrong>Xử lý lỗi\u003C/strong>  Nếu người dùng từ chối ủy quyền hoặc xảy ra lỗi khác, máy chủ ủy quyền sẽ thông qua \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">redirect_uri\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  trả về thông tin lỗi (như \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">error\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  và \u003C/span>\u003Ccode data-type=\"inlineCode\">\u003Cspan data-type=\"text\">error_description\u003C/span>\u003C/code>\u003Cspan data-type=\"text\">  tham số), phía client cần xử lý các lỗi này một cách phù hợp, cung cấp phản hồi rõ ràng cho người dùng.\u003C/span>\u003C/div>\u003C/li>\u003C/ol>\u003C/article>","2026-04-30T10:54:36.517Z","2026-05-07T11:04:18.685Z","2026-05-06T06:18:12.489Z","vi-VN",null]