{"id":28844,"date":"2021-07-29T19:43:35","date_gmt":"2021-07-29T12:43:35","guid":{"rendered":"https:\/\/wiki.tino.org\/staging\/?p=28844"},"modified":"2021-07-29T19:43:38","modified_gmt":"2021-07-29T12:43:38","slug":"oauth2-la-gi","status":"publish","type":"post","link":"https:\/\/tino.vn\/blog\/oauth2-la-gi\/","title":{"rendered":"OAuth2 l\u00e0 g\u00ec? C\u00e1c lu\u1ed3ng trong OAuth2"},"content":{"rendered":"\n<p class=\"has-text-align-left\"><strong>OAuth2 \u0111\u01b0\u1ee3c h\u00ecnh th\u00e0nh nh\u01b0 m\u1ed9t gi\u1ea3i ph\u00e1p mang \u0111\u1ebfn s\u1ef1 hi\u1ec7u qu\u1ea3 trong c\u00e1ch cung c\u1ea5p quy\u1ec1n truy c\u1eadp ho\u1eb7c \u0111\u01b0\u1ee3c \u1ee7y quy\u1ec1n m\u00e0 kh\u00f4ng g\u00e2y ra nh\u1eefng t\u00e1c \u0111\u1ed9ng hay r\u1ee7i ro \u0111\u1ebfn d\u1eef li\u1ec7u ng\u01b0\u1eddi d\u00f9ng. V\u1eady OAuth2 l\u00e0 g\u00ec?<\/strong><\/p>\n\n\n\n<h2 id=\"OAuth2_l\u00e0_g\u00ec?\"><strong>OAuth2 l\u00e0 g\u00ec?<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-left\">OAuth2 l\u00e0 khung cung c\u1ea5p ho\u1eb7c \u1ee7y quy\u1ec1n, th\u01b0\u1eddng \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho c\u00e1c trang web v\u00e0 \u1ee9ng d\u1ee5ng web, y\u00eau c\u1ea7u quy\u1ec1n truy c\u1eadp h\u1ea1n ch\u1ebf v\u00e0o t\u00e0i kho\u1ea3n c\u1ee7a ng\u01b0\u1eddi d\u00f9ng tr\u00ean m\u1ed9t \u1ee9ng d\u1ee5ng kh\u00e1c. OAuth2 cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng c\u1ea5p quy\u1ec1n truy c\u1eadp m\u00e0 kh\u00f4ng \u0111\u1ec3 l\u1ed9 th\u00f4ng tin \u0111\u0103ng nh\u1eadp v\u00e0o \u1ee9ng d\u1ee5ng y\u00eau c\u1ea7u.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1554.png\" alt=\"oauth2-la-gi\" class=\"wp-image-28846\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1554.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1554-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-left\">OAuth2 ban \u0111\u1ea7u \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n nh\u01b0 m\u1ed9t c\u00e1ch chia s\u1ebb quy\u1ec1n truy c\u1eadp v\u00e0o d\u1eef li\u1ec7u c\u1ee5 th\u1ec3 gi\u1eefa c\u00e1c \u1ee9ng d\u1ee5ng, ho\u1ea1t \u0111\u1ed9ng b\u1eb1ng c\u00e1ch x\u00e1c \u0111\u1ecbnh m\u1ed9t lo\u1ea1t c\u00e1c t\u01b0\u01a1ng t\u00e1c ba b\u00ean ri\u00eang bi\u1ec7t l\u00e0 <a href=\"https:\/\/tino.vn\/blog\/client-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Client<\/a>, Resource Owner v\u00e0 nh\u00e0 cung c\u1ea5p d\u1ecbch v\u1ee5.<\/p>\n\n\n\n<h3 id=\"OAuth2_ho\u1ea1t_\u0111\u1ed9ng_nh\u01b0_th\u1ebf_n\u00e0o?\"><strong>OAuth2 ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>B\u01b0\u1edbc 1:<\/strong> Client y\u00eau c\u1ea7u quy\u1ec1n truy c\u1eadp v\u00e0o m\u1ed9t t\u1eadp h\u1ee3p d\u1eef li\u1ec7u c\u1ee7a ng\u01b0\u1eddi d\u00f9ng, ch\u1ec9 \u0111\u1ecbnh c\u00e1c lo\u1ea1i c\u1ea5p quy\u1ec1n v\u00e0 c\u00e1c quy\u1ec1n truy c\u1eadp h\u1ecd mu\u1ed1n s\u1eed d\u1ee5ng.<\/li><li><strong>B\u01b0\u1edbc 2<\/strong>: Ng\u01b0\u1eddi d\u00f9ng \u0111\u01b0\u1ee3c nh\u1eafc \u0111\u0103ng nh\u1eadp v\u00e0o OAuth2 v\u00e0 \u0111\u1ed3ng \u00fd \u0111\u1ed1i v\u1edbi c\u00e1c quy\u1ec1n truy c\u1eadp \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u.<\/li><li><strong>B\u01b0\u1edbc 3<\/strong>: Client nh\u1eadn \u0111\u01b0\u1ee3c m\u00e3 th\u00f4ng b\u00e1o truy c\u1eadp duy nh\u1ea5t, ch\u1ee9ng minh h\u1ecd \u0111\u01b0\u1ee3c ng\u01b0\u1eddi d\u00f9ng cho ph\u00e9p truy c\u1eadp v\u00e0o c\u00e1c d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c y\u00eau c\u1ea7u. C\u00e1ch th\u1ee9c n\u00e0y s\u1ebd x\u1ea3y ra nh\u1eefng thay \u0111\u1ed5i, t\u00f9y thu\u1ed9c v\u00e0o c\u00e1c lo\u1ea1i c\u1ea5p quy\u1ec1n.<\/li><li><strong>B\u01b0\u1edbc 4:<\/strong> Client s\u1eed d\u1ee5ng m\u00e3 th\u00f4ng b\u00e1o truy c\u1eadp \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u00e1c l\u1ec7nh g\u1ecdi v\u00e0 t\u00ecm n\u1ea1p c\u00e1c d\u1eef li\u1ec7u c\u00f3 li\u00ean quan t\u1eeb m\u00e1y ch\u1ee7 t\u00e0i nguy\u00ean.<\/li><\/ul>\n\n\n\n<h3 id=\"OAuth2_bao_g\u1ed3m_nh\u1eefng_nh\u1eefng_y\u1ebfu_t\u1ed1_g\u00ec?\"><strong>OAuth2 bao g\u1ed3m nh\u1eefng nh\u1eefng y\u1ebfu t\u1ed1 g\u00ec?<\/strong><\/h3>\n\n\n\n<h4 id=\"Client_(m\u00e1y_kh\u00e1ch)\"><strong>Client (m\u00e1y kh\u00e1ch)<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Client hay c\u00f2n \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 \u1ee9ng d\u1ee5ng, c\u00f3 th\u1ec3 \u1ee9ng d\u1ee5ng ch\u1ea1y tr\u00ean thi\u1ebft b\u1ecb di \u0111\u1ed9ng ho\u1eb7c m\u1ed9t \u1ee9ng d\u1ee5ng web truy\u1ec1n th\u1ed1ng. Client thay m\u1eb7t Resource Owner y\u00eau c\u1ea7u m\u00e1y ch\u1ee7 t\u00e0i nguy\u00ean \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7. Resource Owner ph\u1ea3i c\u1ea5p cho Client quy\u1ec1n truy c\u1eadp v\u00e0o c\u00e1c t\u00e0i nguy\u00ean \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1555.png\" alt=\"oauth2-la-gi\" class=\"wp-image-28847\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1555.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1555-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<h4 id=\"Resource_Owner\"><strong>Resource Owner<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Resource Owner hay c\u00f2n g\u1ecdi l\u00e0 ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i, \u0111\u00e2y l\u00e0 ng\u01b0\u1eddi c\u00f3 kh\u1ea3 n\u0103ng c\u1ea5p quy\u1ec1n truy c\u1eadp v\u00e0o t\u00e0i nguy\u00ean \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7.<\/p>\n\n\n\n<h4 id=\"M\u00e1y_ch\u1ee7_t\u00e0i_nguy\u00ean\"><strong>M\u00e1y ch\u1ee7 t\u00e0i nguy\u00ean<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Apigee Edge l\u00e0 m\u1ed9t m\u00e1y ch\u1ee7 t\u00e0i nguy\u00ean \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng b\u1ea5t c\u1ee9 khi n\u00e0o c\u1ea7n x\u00e1c th\u1ef1c m\u00e3 th\u00f4ng b\u00e1o OAuth2 \u0111\u1ec3 x\u1eed l\u00fd c\u00e1c y\u00eau c\u1ea7u API. M\u00e1y ch\u1ee7 t\u00e0i nguy\u00ean c\u1ea7n m\u1ed9t s\u1ed1 lo\u1ea1i \u1ee7y quy\u1ec1n tr\u01b0\u1edbc khi cung c\u1ea5p c\u00e1c t\u00e0i nguy\u00ean b\u1ea3o v\u1ec7 cho \u1ee9ng d\u1ee5ng.<\/p>\n\n\n\n<h4 id=\"M\u00e1y_ch\u1ee7_\u1ee7y_quy\u1ec1n\"><strong>M\u00e1y ch\u1ee7 \u1ee7y quy\u1ec1n<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">M\u00e1y ch\u1ee7 \u1ee7y quy\u1ec1n \u0111\u01b0\u1ee3c tri\u1ec3n khai tu\u00e2n theo \u0111\u1eb7c \u0111i\u1ec3m k\u1ef9 thu\u1eadt OAuth2, ch\u1ecbu tr\u00e1ch nhi\u1ec7m x\u00e1c th\u1ef1c vi\u1ec7c c\u1ea5p \u1ee7y quy\u1ec1n v\u00e0 c\u1ea5p m\u00e3 th\u00f4ng b\u00e1o \u0111\u1ec3 \u1ee9ng d\u1ee5ng truy c\u1eadp v\u00e0o d\u1eef li\u1ec7u c\u1ee7a ng\u01b0\u1eddi d\u00f9ng tr\u00ean m\u00e1y ch\u1ee7 t\u00e0i nguy\u00ean.<\/p>\n\n\n\n<h4 id=\"C\u1ea5p_quy\u1ec1n\"><strong>C\u1ea5p quy\u1ec1n<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">C\u1ea5p cho \u1ee9ng d\u1ee5ng quy\u1ec1n truy xu\u1ea5t m\u00e3 th\u00f4ng b\u00e1o thay cho ng\u01b0\u1eddi d\u00f9ng cu\u1ed1i.<\/p>\n\n\n\n<h4 id=\"M\u00e3_th\u00f4ng_b\u00e1o\"><strong>M\u00e3 th\u00f4ng b\u00e1o<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">M\u1ed9t chu\u1ed7i k\u00fd t\u1ef1 d\u00e0i \u0111\u00f3ng vai tr\u00f2 l\u00e0 th\u00f4ng tin x\u00e1c th\u1ef1c \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 truy c\u1eadp c\u00e1c t\u00e0i nguy\u00ean \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7. Ngo\u00e0i ra, m\u00e3 th\u00f4ng b\u00e1o c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp v\u1edbi m\u1ed9t s\u1ed1 h\u1ea1n ch\u1ebf, ch\u1eb3ng h\u1ea1n nh\u01b0 \u1ee9ng d\u1ee5ng c\u00f3 th\u1ec3 \u0111\u1ecdc kh\u00f4ng th\u1ec3 ch\u1ec9nh s\u1eeda ho\u1eb7c x\u00f3a d\u1eef li\u1ec7u tr\u00ean m\u00e1y ch\u1ee7 t\u00e0i nguy\u00ean.<\/p>\n\n\n\n<h4 id=\"T\u00e0i_nguy\u00ean_\u0111\u01b0\u1ee3c_b\u1ea3o_v\u1ec7\"><strong>T\u00e0i nguy\u00ean \u0111\u01b0\u1ee3c b\u1ea3o v\u1ec7<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">C\u00e1c d\u1eef li\u1ec7u thu\u1ed9c quy\u1ec1n qu\u1ea3n l\u00fd c\u1ee7a ch\u1ee7 s\u1edf h\u1eefu t\u00e0i nguy\u00ean. V\u00ed d\u1ee5, danh s\u00e1ch li\u00ean h\u1ec7, th\u00f4ng tin t\u00e0i kho\u1ea3n, th\u00f4ng tin ng\u01b0\u1eddi d\u00f9ng,&#8230;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1556.png\" alt=\"oauth2-la-gi\" class=\"wp-image-28848\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1556.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1556-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<h3 id=\"OAuth2_c\u00f3_nh\u1eefng_\u01b0u_\u0111i\u1ec3m_v\u00e0_h\u1ea1n_ch\u1ebf_nh\u01b0_th\u1ebf_n\u00e0o?\"><strong>OAuth2 c\u00f3 nh\u1eefng \u01b0u \u0111i\u1ec3m v\u00e0 h\u1ea1n ch\u1ebf nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h3>\n\n\n\n<h3 id=\"\u01afu_\u0111i\u1ec3m\"><strong>\u01afu \u0111i\u1ec3m<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Quy\u1ec1n truy c\u1eadp v\u00e0o c\u00e1c t\u00e0i nguy\u00ean \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n th\u00f4ng qua <a href=\"https:\/\/tino.vn\/blog\/client-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTTP<\/a> v\u00e0 HTTPS v\u1edbi m\u00e3 th\u00f4ng b\u00e1o \u0111\u01b0\u1ee3c ch\u1ec9 ra trong headers. \u0110i\u1ec1u n\u00e0y cho ph\u00e9p b\u1ea1n s\u1eed d\u1ee5ng OAuth2 trong h\u1ea7u h\u1ebft m\u1ecdi gi\u1ea3i ph\u00e1p.<\/li><li>Kh\u1ea3 n\u0103ng \u1ee7y quy\u1ec1n cho ng\u01b0\u1eddi d\u00f9ng ti\u00eau chu\u1ea9n, \u0111\u01b0\u1ee3c ph\u00e2n lo\u1ea1i theo c\u00e1c lu\u1ed3ng.<\/li><li>OAuth2 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng r\u1ea5t ph\u1ed5 bi\u1ebfn, \u0111a s\u1ed1 c\u00e1c doanh nghi\u1ec7p \u0111\u1ec1u s\u1eed d\u1ee5ng trong API c\u1ee7a h\u1ecd.<\/li><li>OAuth2 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng d\u1ef1a tr\u00ean SSL \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o c\u00e1c giao th\u1ee9c b\u1ea3o m\u1eadt mang l\u1ea1i b\u1ea3o m\u1eadt an to\u00e0n cho d\u1eef li\u1ec7u.<\/li><li>Cho ph\u00e9p truy c\u1eadp h\u1ea1n ch\u1ebf v\u00e0o d\u1eef li\u1ec7u ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p truy c\u1eadp khi m\u00e3 th\u00f4ng b\u00e1o \u1ee7y quy\u1ec1n h\u1ebft h\u1ea1n.<\/li><li>T\u00ednh s\u1eb5n c\u00f3 c\u1ee7a c\u00e1c gi\u1ea3i ph\u00e1p \u0111\u00e3 \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp s\u1eb5n c\u00f3 th\u1ec3 thay \u0111\u1ed5i linh ho\u1ea1t d\u1ef1a tr\u00ean y\u00eau c\u1ea7u c\u1ee7a b\u1ea1n.<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1557.png\" alt=\"oauth2-la-gi\" class=\"wp-image-28849\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1557.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1557-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<h3 id=\"H\u1ea1n_ch\u1ebf\"><strong>H\u1ea1n ch\u1ebf<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>N\u1ebfu th\u00eam nhi\u1ec1u ti\u1ec7n \u00edch m\u1edf r\u1ed9ng \u1edf th\u00f4ng s\u1ed1 k\u1ef9 thu\u1eadt, b\u1ea1n s\u1ebd g\u1eb7p ph\u1ea3i m\u1ed9t s\u1ed1 tri\u1ec3n khai kh\u00f4ng th\u1ec3 t\u01b0\u01a1ng t\u00e1c, \u0111\u1ed3ng ngh\u0129a v\u1edbi vi\u1ec7c b\u1ea1n ph\u1ea3i c\u1ea7n c\u00f3 \u0111o\u1ea1n m\u00e3 ri\u00eang bi\u1ec7t cho c\u00e1c tr\u01b0\u1eddng h\u1ee3p c\u1ea7n thi\u1ebft.<\/li><li>Trong tr\u01b0\u1eddng h\u1ee3p trang web c\u1ee7a b\u1ea1n k\u1ebft n\u1ed1i v\u1edbi m\u1ed9t trung t\u00e2m d\u1eef li\u1ec7u, khi trung t\u00e2m d\u1eef li\u1ec7u b\u1ecb t\u1ea5n c\u00f4ng, \u0111i\u1ec1u n\u00e0y s\u1ebd g\u00e2y ra nh\u1eefng \u1ea3nh h\u01b0\u1edfng nghi\u00eam tr\u1ecdng \u0111\u1ebfn trang web c\u1ee7a b\u1ea1n.<\/li><li>Kh\u00f4ng c\u00f3 \u0111\u1ecbnh d\u1ea1ng chung, m\u1ed7i c\u00e0i \u0111\u1eb7t \u0111\u1ec1u y\u00eau c\u1ea7u c\u00e1ch thi\u1ebft l\u1eadp tri\u1ec3n khai ri\u00eang bi\u1ec7t.<\/li><\/ul>\n\n\n\n<h3 id=\"OAuth2_cung_c\u1ea5p_c\u00e1c_lu\u1ed3ng_nh\u01b0_th\u1ebf_n\u00e0o?\"><strong>OAuth2 cung c\u1ea5p c\u00e1c lu\u1ed3ng nh\u01b0 th\u1ebf n\u00e0o?<\/strong><\/h3>\n\n\n\n<p class=\"has-text-align-left\">Lu\u1ed3ng (c\u00f2n g\u1ecdi l\u00e0 <em>c\u00e1c lo\u1ea1i c\u1ea5p quy\u1ec1n<\/em>) l\u00e0 qu\u00e1 tr\u00ecnh m\u1ed9t Client API th\u1ef1c hi\u1ec7n \u0111\u1ec3 l\u1ea5y m\u00e3 truy c\u1eadp t\u1eeb m\u00e1y ch\u1ee7 uy quy\u1ec1n. OAuth2 cung c\u1ea5p m\u1ed9t s\u1ed1 lu\u1ed3ng ph\u00f9 h\u1ee3p v\u1edbi c\u00e1c Client nh\u01b0: M\u00e3 \u1ee7y quy\u1ec1n, ng\u1ea7m \u0111\u1ecbnh, th\u00f4ng tin \u0111\u0103ng nh\u1eadp c\u1ee7a Resource v\u00e0 th\u00f4ng tin x\u00e1c th\u1ef1c Client.<\/p>\n\n\n\n<h4 id=\"M\u00e3_\u1ee7y_quy\u1ec1n\"><strong>M\u00e3 \u1ee7y quy\u1ec1n<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Lu\u1ed3ng ph\u1ed5 bi\u1ebfn nh\u1ea5t, ch\u1ee7 y\u1ebfu \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng cho c\u00e1c \u1ee9ng d\u1ee5ng web. Quy tr\u00ecnh n\u00e0y t\u01b0\u01a1ng t\u1ef1 nh\u01b0 c\u00e1ch ng\u01b0\u1eddi d\u00f9ng \u0111\u0103ng k\u00fd v\u00e0o m\u1ed9t \u1ee9ng d\u1ee5ng web b\u1eb1ng t\u00e0i kho\u1ea3n m\u1ed9t n\u1ec1n t\u1ea3ng kh\u00e1c, ch\u1eb3ng h\u1ea1n nh\u01b0 Google, Facebook,&#8230;<\/p>\n\n\n\n<h4 id=\"Ng\u1ea7m_\u0111\u1ecbnh_\"><strong>Ng\u1ea7m \u0111\u1ecbnh <\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Lu\u1ed3ng n\u00e0y y\u00eau c\u1ea7u Client truy xu\u1ea5t tr\u1ef1c ti\u1ebfp m\u00e3 th\u00f4ng b\u00e1o truy c\u1eadp. \u0110i\u1ec1u n\u00e0y s\u1ebd h\u1eefu \u00edch trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p th\u00f4ng tin \u0111\u0103ng nh\u1eadp c\u1ee7a ng\u01b0\u1eddi d\u00f9ng kh\u00f4ng th\u1ec3 l\u01b0u tr\u1eef \u1edf Client, ch\u00fang c\u00f3 th\u1ec3 b\u1ecb b\u00ean th\u1ee9 ba truy c\u1eadp d\u1ec5 d\u00e0ng v\u00e0o.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" width=\"700\" height=\"375\" src=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1559.png\" alt=\"oauth2-la-gi\" class=\"wp-image-28851\" title=\"\" srcset=\"https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1559.png 700w, https:\/\/tino.vn\/blog\/wp-content\/uploads\/2021\/07\/word-image-1559-300x161.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure><\/div>\n\n\n\n<h4 id=\"Th\u00f4ng_tin_\u0111\u0103ng_nh\u1eadp_c\u1ee7a_Resource_Owner\"><strong>Th\u00f4ng tin \u0111\u0103ng nh\u1eadp c\u1ee7a Resource Owner<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">Lu\u1ed3ng n\u00e0y y\u00eau c\u1ea7u \u0111\u0103ng nh\u1eadp v\u1edbi t\u00ean ng\u01b0\u1eddi d\u00f9ng v\u00e0 m\u1eadt kh\u1ea9u \u0111\u00e3 \u0111\u0103ng k\u00fd. V\u00ec trong tr\u01b0\u1eddng h\u1ee3p \u0111\u00f3, th\u00f4ng tin \u0111\u0103ng nh\u1eadp l\u00e0 m\u1ed9t ph\u1ea7n c\u1ee7a y\u00eau c\u1ea7u, quy tr\u00ecnh n\u00e0y ch\u1ec9 ph\u00f9 h\u1ee3p v\u1edbi c\u00e1c \u1ee9ng d\u1ee5ng \u0111\u00e1ng tin c\u1eady.<\/p>\n\n\n\n<h4 id=\"Th\u00f4ng_tin_x\u00e1c_th\u1ef1c_Client\"><strong>Th\u00f4ng tin x\u00e1c th\u1ef1c Client<\/strong><\/h4>\n\n\n\n<p class=\"has-text-align-left\">\u0110\u00e2y l\u00e0 lu\u1ed3ng d\u00e0nh cho vi\u1ec7c x\u00e1c th\u1ef1c t\u1eeb m\u00e1y ch\u1ee7 \u0111\u1ebfn m\u00e1y ch\u1ee7, quy tr\u00ecnh m\u00f4 t\u1ea3 c\u00e1ch ti\u1ebfp c\u1eadn khi Client t\u1ef1 ho\u1ea1t \u0111\u1ed9ng thay cho b\u1ea5t k\u1ef3 ng\u01b0\u1eddi d\u00f9ng c\u00e1 nh\u00e2n n\u00e0o. Lu\u1ed3ng n\u00e0y cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng ch\u1ec9 \u0111\u1ecbnh th\u00f4ng tin x\u00e1c th\u1ef1c c\u1ee7a h\u1ecd trong Client v\u00e0 c\u00f3 th\u1ec3 truy c\u1eadp c\u00e1c t\u00e0i nguy\u00ean d\u01b0\u1edbi s\u1ef1 ki\u1ec3m so\u00e1t c\u1ee7a Client.<\/p>\n\n\n\n<p class=\"has-text-align-left\">OAuth2 l\u00e0 m\u1ed9t gi\u1ea3i ph\u00e1p \u0111\u01a1n gi\u1ea3n d\u1ef1a tr\u00ean HTTP, gi\u00fap b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng tr\u00ean m\u1ecdi n\u1ec1n t\u1ea3ng. V\u00ec v\u1eady, b\u1ea1n ho\u00e0n to\u00e0n c\u00f3 th\u1ec3 \u0111\u1eb7t ni\u1ec1m tin v\u00e0o OAuth2 trong c\u00e1c d\u1ef1 \u00e1n c\u1ee7a m\u00ecnh. Hy v\u1ecdng b\u00e0i vi\u1ebft s\u1ebd cung c\u1ea5p cho b\u1ea1n th\u00eam m\u1ed9t s\u1ed1 ki\u1ebfn th\u1ee9c h\u1eefu \u00edch v\u1ec1 OAuth2. Ch\u00fac b\u1ea1n c\u00f3 nh\u1eefng l\u1ef1a ch\u1ecdn t\u1ed1t nh\u1ea5t, ph\u00f9 h\u1ee3p v\u1edbi nhu c\u1ea7u c\u1ee7a m\u00ecnh trong t\u01b0\u01a1ng lai.<\/p>\n\n\n\n<h2 id=\"M\u1ed9t_s\u1ed1_c\u00e2u_h\u1ecfi_li\u00ean_quan_\u0111\u1ebfn_OAuth2\"><strong>M\u1ed9t s\u1ed1 c\u00e2u h\u1ecfi li\u00ean quan \u0111\u1ebfn OAuth2<\/strong><\/h2>\n\n\n\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"Enterprise_OAuth2_\u0111\u01b0\u1ee3c_s\u1eed_d\u1ee5ng_nh\u01b0_th\u1ebf_n\u00e0o?\">Enterprise OAuth2 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nh\u01b0 th\u1ebf n\u00e0o?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>OAuth2 th\u1ef1c hi\u1ec7n vi\u1ec7c t\u00e1ch c\u00e1c quy\u1ebft \u0111\u1ecbnh v\u1ec1 ch\u00ednh s\u00e1ch \u1ee7y quy\u1ec1n ra kh\u1ecfi x\u00e1c th\u1ef1c, cho ph\u00e9p pha tr\u1ed9n gi\u1eefa c\u00e1c d\u1ea1ng \u1ee7y quy\u1ec1n. \u0110\u00e2y c\u0169ng l\u00e0 m\u1ed9t tuy\u1ec7t v\u1eddi \u0111\u1ec3 h\u1ea1n ch\u1ebf v\u00e0 thu h\u1ed3i quy\u1ec1n khi x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng c\u00f3 th\u1ec3 truy c\u1eadp c\u00e1c API c\u1ee5 th\u1ec3. Enterprise OAuth2 \u0111\u1ea3m b\u1ea3o ch\u1ec9 c\u00e1c thi\u1ebft b\u1ecb \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd ho\u1eb7c tu\u00e2n th\u1ee7 m\u1edbi c\u00f3 th\u1ec3 truy c\u1eadp c\u00e1c API c\u1ee5 th\u1ec3. Ch\u00fang c\u00f3 t\u00edch h\u1ee3p v\u1edbi quy tr\u00ecnh h\u1ee7y c\u1ea5p ph\u00e9p danh t\u00ednh \u0111\u1ec3 thu h\u1ed3i t\u1ea5t c\u1ea3 c\u00e1c m\u00e3 th\u00f4ng b\u00e1o t\u1eeb ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c thi\u1ebft b\u1ecb.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"M\u1edf_r\u1ed9ng_OAuth2_nh\u01b0_th\u1ebf_n\u00e0o?\">M\u1edf r\u1ed9ng OAuth2 nh\u01b0 th\u1ebf n\u00e0o?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>Khi \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e1c th\u1ef1c, OAuth2 th\u01b0\u1eddng \u0111\u01b0\u1ee3c m\u1edf r\u1ed9ng v\u1edbi m\u1ed9t l\u1edbp OpenID Connect, l\u1edbp n\u00e0y cung c\u1ea5p m\u1ed9t s\u1ed1 t\u00ednh n\u0103ng b\u1ed5 sung li\u00ean quan \u0111\u1ebfn vi\u1ec7c x\u00e1c \u0111\u1ecbnh v\u00e0 x\u00e1c th\u1ef1c ng\u01b0\u1eddi d\u00f9ng.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"C\u00f3_th\u1ec3_\u0111\u0103ng_k\u00fd_kh\u00f4ng_c\u1ea7n_x\u00e1c_minh_kh\u00f4ng?\">C\u00f3 th\u1ec3 \u0111\u0103ng k\u00fd kh\u00f4ng c\u1ea7n x\u00e1c minh kh\u00f4ng?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>M\u1ed9t s\u1ed1 trang web cung c\u1ea5p d\u1ecbch v\u1ee5 OAuth2 cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng \u0111\u0103ng k\u00fd t\u00e0i kho\u1ea3n m\u00e0 kh\u00f4ng c\u1ea7n x\u00e1c minh t\u1ea5t c\u1ea3 th\u00f4ng tin chi ti\u1ebft, bao g\u1ed3m c\u1ea3 \u0111\u1ecba ch\u1ec9 email, s\u1ed1 \u0111i\u1ec7n tho\u1ea1i c\u1ee7a h\u1ecd trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p. \u0110\u00e2y c\u00f3 th\u1ec3 l\u00e0 nh\u1eefng l\u1ed7 h\u1ed5ng \u0111\u1ec3 nh\u1eefng k\u1ebb t\u1ea5n c\u00f4ng l\u1ee3i d\u1ee5ng \u0111\u1ec3 truy c\u1eadp v\u00e0o h\u1ec7 th\u1ed1ng d\u1eef li\u1ec7u c\u1ee7a trang web.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section\t\thelp class=\"sc_fs_faq sc_card    \"\n\t\t\t\t>\n\t\t\t\t<h2 id=\"M\u00e3_th\u00f4ng_b\u00e1o_kh\u00e1c_kh\u00f3a_API_nh\u01b0_th\u1ebf_n\u00e0o?\">M\u00e3 th\u00f4ng b\u00e1o kh\u00e1c kh\u00f3a API nh\u01b0 th\u1ebf n\u00e0o?<\/h2>\t\t\t\t<div>\n\t\t\t\t\t\t<div class=\"sc_fs_faq__content\">\n\t\t\t\t\n\n<p>S\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa kh\u00f3a API v\u00e0 m\u00e3 th\u00f4ng b\u00e1o l\u00e0 kh\u00f3a API ph\u1ea3i l\u00e0 kh\u00f3a h\u1ee3p l\u1ec7, d\u00e0nh cho nh\u00e0 ph\u00e1t tri\u1ec3n Apigee Edge \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi Proxy API. Khi b\u1ea1n c\u1ea7n thu h\u1ed3i quy\u1ec1n cho Client, b\u1ea1n c\u1ea7n thu h\u1ed3i kh\u00f3a ng\u01b0\u1eddi d\u00f9ng \u0111\u00f3, b\u1ea5t k\u1ef3 \u1ee9ng Client n\u00e0o s\u1eed d\u1ee5ng kh\u00f3a \u0111\u00f3 c\u0169ng kh\u00f4ng th\u1ec3 truy c\u1eadp proxy API. M\u1eb7t kh\u00e1c, m\u00e3 th\u00f4ng b\u00e1o OAuth2 c\u00f3 th\u1ec3 thu h\u1ed3i b\u1ea5t k\u1ef3 l\u00fac n\u00e0o m\u00e0 kh\u00f4ng c\u1ea7n thu h\u1ed3i kh\u00f3a c\u1ee7a \u1ee9ng d\u1ee5ng.<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/section>\n\t\t\n<script type=\"application\/ld+json\">\n\t{\n\t\t\"@context\": \"https:\/\/schema.org\",\n\t\t\"@type\": \"FAQPage\",\n\t\t\"mainEntity\": [\n\t\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"Enterprise OAuth2 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng nh\u01b0 th\u1ebf n\u00e0o?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>OAuth2 th\u1ef1c hi\u1ec7n vi\u1ec7c t\u00e1ch c\u00e1c quy\u1ebft \u0111\u1ecbnh v\u1ec1 ch\u00ednh s\u00e1ch \u1ee7y quy\u1ec1n ra kh\u1ecfi x\u00e1c th\u1ef1c, cho ph\u00e9p pha tr\u1ed9n gi\u1eefa c\u00e1c d\u1ea1ng \u1ee7y quy\u1ec1n. \u0110\u00e2y c\u0169ng l\u00e0 m\u1ed9t tuy\u1ec7t v\u1eddi \u0111\u1ec3 h\u1ea1n ch\u1ebf v\u00e0 thu h\u1ed3i quy\u1ec1n khi x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng c\u00f3 th\u1ec3 truy c\u1eadp c\u00e1c API c\u1ee5 th\u1ec3. Enterprise OAuth2 \u0111\u1ea3m b\u1ea3o ch\u1ec9 c\u00e1c thi\u1ebft b\u1ecb \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd ho\u1eb7c tu\u00e2n th\u1ee7 m\u1edbi c\u00f3 th\u1ec3 truy c\u1eadp c\u00e1c API c\u1ee5 th\u1ec3. Ch\u00fang c\u00f3 t\u00edch h\u1ee3p v\u1edbi quy tr\u00ecnh h\u1ee7y c\u1ea5p ph\u00e9p danh t\u00ednh \u0111\u1ec3 thu h\u1ed3i t\u1ea5t c\u1ea3 c\u00e1c m\u00e3 th\u00f4ng b\u00e1o t\u1eeb ng\u01b0\u1eddi d\u00f9ng ho\u1eb7c thi\u1ebft b\u1ecb.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"M\u1edf r\u1ed9ng OAuth2 nh\u01b0 th\u1ebf n\u00e0o?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>Khi \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 x\u00e1c th\u1ef1c, OAuth2 th\u01b0\u1eddng \u0111\u01b0\u1ee3c m\u1edf r\u1ed9ng v\u1edbi m\u1ed9t l\u1edbp OpenID Connect, l\u1edbp n\u00e0y cung c\u1ea5p m\u1ed9t s\u1ed1 t\u00ednh n\u0103ng b\u1ed5 sung li\u00ean quan \u0111\u1ebfn vi\u1ec7c x\u00e1c \u0111\u1ecbnh v\u00e0 x\u00e1c th\u1ef1c ng\u01b0\u1eddi d\u00f9ng.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"C\u00f3 th\u1ec3 \u0111\u0103ng k\u00fd kh\u00f4ng c\u1ea7n x\u00e1c minh kh\u00f4ng?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>M\u1ed9t s\u1ed1 trang web cung c\u1ea5p d\u1ecbch v\u1ee5 OAuth2 cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng \u0111\u0103ng k\u00fd t\u00e0i kho\u1ea3n m\u00e0 kh\u00f4ng c\u1ea7n x\u00e1c minh t\u1ea5t c\u1ea3 th\u00f4ng tin chi ti\u1ebft, bao g\u1ed3m c\u1ea3 \u0111\u1ecba ch\u1ec9 email, s\u1ed1 \u0111i\u1ec7n tho\u1ea1i c\u1ee7a h\u1ecd trong m\u1ed9t s\u1ed1 tr\u01b0\u1eddng h\u1ee3p. \u0110\u00e2y c\u00f3 th\u1ec3 l\u00e0 nh\u1eefng l\u1ed7 h\u1ed5ng \u0111\u1ec3 nh\u1eefng k\u1ebb t\u1ea5n c\u00f4ng l\u1ee3i d\u1ee5ng \u0111\u1ec3 truy c\u1eadp v\u00e0o h\u1ec7 th\u1ed1ng d\u1eef li\u1ec7u c\u1ee7a trang web.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t,\t\t\t\t{\n\t\t\t\t\"@type\": \"Question\",\n\t\t\t\t\"name\": \"M\u00e3 th\u00f4ng b\u00e1o kh\u00e1c kh\u00f3a API nh\u01b0 th\u1ebf n\u00e0o?\",\n\t\t\t\t\"acceptedAnswer\": {\n\t\t\t\t\t\"@type\": \"Answer\",\n\t\t\t\t\t\"text\": \"<p>S\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa kh\u00f3a API v\u00e0 m\u00e3 th\u00f4ng b\u00e1o l\u00e0 kh\u00f3a API ph\u1ea3i l\u00e0 kh\u00f3a h\u1ee3p l\u1ec7, d\u00e0nh cho nh\u00e0 ph\u00e1t tri\u1ec3n Apigee Edge \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi Proxy API. Khi b\u1ea1n c\u1ea7n thu h\u1ed3i quy\u1ec1n cho Client, b\u1ea1n c\u1ea7n thu h\u1ed3i kh\u00f3a ng\u01b0\u1eddi d\u00f9ng \u0111\u00f3, b\u1ea5t k\u1ef3 \u1ee9ng Client n\u00e0o s\u1eed d\u1ee5ng kh\u00f3a \u0111\u00f3 c\u0169ng kh\u00f4ng th\u1ec3 truy c\u1eadp proxy API. M\u1eb7t kh\u00e1c, m\u00e3 th\u00f4ng b\u00e1o OAuth2 c\u00f3 th\u1ec3 thu h\u1ed3i b\u1ea5t k\u1ef3 l\u00fac n\u00e0o m\u00e0 kh\u00f4ng c\u1ea7n thu h\u1ed3i kh\u00f3a c\u1ee7a \u1ee9ng d\u1ee5ng.<\/p>\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t}\n\t\t\t\t\t\t]\n\t}\n<\/script>\n\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>OAuth2 \u0111\u01b0\u1ee3c h\u00ecnh th\u00e0nh nh\u01b0 m\u1ed9t gi\u1ea3i ph\u00e1p mang \u0111\u1ebfn s\u1ef1 hi\u1ec7u qu\u1ea3 trong c\u00e1ch cung c\u1ea5p quy\u1ec1n truy c\u1eadp ho\u1eb7c \u0111\u01b0\u1ee3c \u1ee7y quy\u1ec1n m\u00e0 kh\u00f4ng g\u00e2y ra nh\u1eefng t\u00e1c \u0111\u1ed9ng hay r\u1ee7i ro \u0111\u1ebfn d\u1eef li\u1ec7u ng\u01b0\u1eddi d\u00f9ng. V\u1eady OAuth2 l\u00e0 g\u00ec? OAuth2 l\u00e0 g\u00ec? OAuth2 l\u00e0 khung cung c\u1ea5p ho\u1eb7c \u1ee7y quy\u1ec1n, th\u01b0\u1eddng [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":28850,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5404],"tags":[6187],"class_list":["post-28844","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webmasters","tag-ho-tro-developer"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/28844","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=28844"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/posts\/28844\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/28850"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=28844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/categories?post=28844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=28844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}