{"id":1559,"date":"2020-06-12T09:44:22","date_gmt":"2020-06-12T01:44:22","guid":{"rendered":"https:\/\/www.strongd.net\/?p=1559"},"modified":"2020-06-12T09:44:22","modified_gmt":"2020-06-12T01:44:22","slug":"%e4%b8%80%e6%ac%a1%e6%90%9e%e6%87%82oauth%e8%88%87sso%e5%9c%a8%e5%b9%b9%e4%bb%80%e9%ba%bc","status":"publish","type":"post","link":"https:\/\/www.strongd.net\/?p=1559","title":{"rendered":"\u4e00\u6b21\u641e\u61c2OAuth\u8207SSO\u5728\u5e79\u4ec0\u9ebc?"},"content":{"rendered":"<h3 class=\"post-title entry-title\">\u4e00\u6b21\u641e\u61c2OAuth\u8207SSO\u5728\u5e79\u4ec0\u9ebc?<\/h3>\n<div class=\"post-header\">\n<div class=\"post-header-line-1\"><\/div>\n<\/div>\n<div id=\"post-body-6738269321690393495\" class=\"post-body entry-content\">\n<p>\u6700\u8fd1\u7684Line Notify\u3001Line Login\uff0c\u4ee5\u53ca\u524d\u4e00\u9663\u5b50\u7684Microsoft Graph API\uff0c\u5168\u90fd\u4f7f\u7528\u5230\u4e86OAuth\u4f5c\u70ba\u7528\u6236\u8eab\u5206\u9a57\u8b49\u4ee5\u53ca\u8cc7\u6e90\u5b58\u53d6\u7684\u57fa\u790e\u3002\u4f46\u5f88\u591a\u8b80\u8005\u6703\u5361\u5728OAuth\u7684\u904b\u4f5c\u6d41\u7a0b\u4e0a\uff0c\u6839\u672c\u7684\u539f\u56e0\u662f\u4e0d\u7406\u89e3OAuth\u5230\u5e95\u662f\u5e79\u561b\u7684?\u5176\u5b58\u5728\u7684\u76ee\u7684\u70ba\u4f55?\u4ee5\u53ca\u5982\u4f55\u61c9\u7528?<\/p>\n<p>\u56e0\u6b64\uff0c\u6211\u60f3\u82b1\u4e00\u500b\u7bc7\u5e45\uff0c\u76e1\u53ef\u80fd\u77ed\u7684\u4ecb\u7d39\u4e00\u4e0bOAuth\u8207SSO\uff0c\u4f46\uff0c\u8207\u574a\u9593\u6587\u7ae0\u4e0d\u540c\u7684\u662f\uff0c\u6211\u5e0c\u671b\u5f9e\u61c9\u7528\u60c5\u5883\u7684\u89d2\u5ea6(\u800c\u975e\u6280\u8853)\u5207\u5165\u8ac7\u9019\u4ef6\u4e8b\u60c5\uff0c\u5180\u671b\u80fd\u5920\u8b93\u958b\u767c\u4eba\u54e1\u5c0dOAuth\u6709\u500b\u6700\u57fa\u672c\u7684\u8a8d\u8b58\u3002<\/p>\n<h5>OAuth\u7684\u80cc\u666f<\/h5>\n<p>\u6211\u5011\u56de\u982d\u770bLine Login\u8207Line Notify\u4e2d\u7684\u4f8b\u5b50\uff0cOAuth\u5728\u9019\u908a\u6700\u7c21\u55ae\u7684\u61c9\u7528\u60c5\u5883\uff0c\u5c31\u662f\u8eab\u5206\u9a57\u8b49\u3002\u5178\u578b\u7684\u60c5\u5883\u4e2d\u6709\u5e7e\u500b\u89d2\u8272\uff0c\u5206\u5225\u662f:<\/p>\n<ol>\n<li>\u7db2\u7ad9\u6216App\u7684\u958b\u767c\u55ae\u4f4d : \u4e5f\u5c31\u662f\u5404\u4f4d\u958b\u767c\u4eba\u54e1<\/li>\n<li>OAuth\u670d\u52d9\u7684\u63d0\u4f9b\u8005(Provider) : \u4e5f\u5c31\u662fLine(\u6216Google\u3001Microsoft\u2026etc.)<\/li>\n<li>\u7d42\u7aef\u7528\u6236(End-User) : \u7db2\u7ad9\u4f7f\u7528\u8005\u3001Line\u4f7f\u7528\u8005\u3001\u6d88\u8cbb\u8005\u3001\u5ba2\u6236\u2026etc.<\/li>\n<\/ol>\n<p>\u4e0a\u9762\u9019\u4e09\u8005\u7684\u95dc\u4fc2\u662f\u4ec0\u9ebc\uff1f<\/p>\n<p>\u7576\u6211\u5011\u5efa\u7acb\u4e00\u500b\u7db2\u7ad9\uff08\u4f8b\u5982Pc Home\u8cfc\u7269\uff09\u3001\u6216App(\u4f8b\u5982\u4e00\u500b\u624b\u6a5f\u904a\u6232)\uff0c\u90fd\u975e\u5e38\u6709\u53ef\u80fd\u9700\u8981\u5efa\u7acb\u4e00\u7d44\u6703\u54e1\u6a5f\u5236\uff0c\u9019\u4e9b\u6a5f\u5236\u5305\u542b:<\/p>\n<ol>\n<li>\u767b\u5165\uff08\u5305\u542b\u8eab\u5206\u9a57\u8b49\uff0c\u5e33\u865f\u3001\u5bc6\u78bc\u4fdd\u5b58\u2026\u7b49\uff09<\/li>\n<li>\u500b\u8cc7\u7ba1\u7406\uff08\u7528\u6236\u540d\u7a31\u3001\u5730\u5740\u3001\u96fb\u8a71\u3001\u66b1\u7a31\u3001\u624b\u6a5f\u2026\u7b49)<\/li>\n<\/ol>\n<p>\u4ee5\u5f80\uff0c\u5e7e\u4e4e\u90fd\u662f\u6bcf\u4e00\u500b\u7db2\u7ad9\u81ea\u5df1\u505a\u4e00\u5957\uff0c\u4f46\u9019\u6a23\u6709\u5f88\u591a\u9ebb\u7169\u4e8b\uff0c\u9996\u5148\u7528\u6236\u8981\u8a18\u5f97\u5f88\u591a\u7d44\u5e33\u865f\u5bc6\u78bc\uff0c\u800c\u6bcf\u4e00\u500b\u7db2\u7ad9\u90fd\u81ea\u5df1\u641e\u4e00\u5957\u6703\u54e1\u6a5f\u5236\uff0c\u7db2\u7ad9\u958b\u767c\u4eba\u54e1\u81ea\u5df1\u4e5f\u5f88\u8f9b\u82e6\uff0c\u52a0\u4e0a\u6700\u8fd1\u9019\u5e7e\u5e74\u5927\u5bb6\u90fd\u5f88\u91cd\u8996\u500b\u8cc7\uff0c\u7db2\u7ad9\u5132\u5b58\uff08\u4fdd\u7ba1\uff09\u4e86\u5f88\u591a\u5e33\u865f\u5bc6\u78bc\u8207\u500b\u4eba\u8cc7\u6599\uff0c\u7e3d\u662f\u6703\u6709\u88ab\u99ed\u7684\u98a8\u96aa\u3002\u56e0\u6b64\uff0c\u9019\u5341\u5e74\u4f86\uff0c\u5f88\u591a\u5927\u5ee0\u958b\u59cb\u63d0\u4f9b\u767b\u5165\uff08\u8207\u8eab\u5206\u9a57\u8b49\uff09\u6a5f\u5236\u670d\u52d9\u3002<\/p>\n<p>\u4e5f\u5c31\u662f\u8aaa\uff0c\u5c0f\u7db2\u7ad9\u4f60\u4e0d\u7528\u81ea\u5df1\u505a\u767b\u5165\u548c\u6703\u54e1\u7ba1\u7406\u4e86\uff0c\u4f60\u9023\u904e\u4f86\u6211\u9019\u908a\uff0c\u6211\u662f\u5927\u7db2\u7ad9\uff0c\u6211\u5df2\u7d93\u6709\u5e7e\u767e\u842c\u4e0a\u5104\u7684\u7528\u6236\uff0c(\u4f8b\u5982\u5168\u53f0\u7063\u90fd\u7528Line)\uff0c\u800c\u4e14\u65e9\u5c31\u505a\u4e86\u8d85\u7d1a\u5b89\u5168\u7684\u6703\u54e1\u7ba1\u7406\u6a5f\u5236\uff0c\u4f60\u9019\u5c0f\u7db2\u7ad9\u4f55\u5fc5\u81ea\u5df1\u505a\u6703\u54e1\u7ba1\u7406\u5462\uff1f\u4f60\u8ddf\u6211\u9023\u7d50\u4e0d\u5c31\u5f97\u4e86\uff0c\u6211\u5927\u7db2\u7ad9\u4f86\u5e6b\u4f60\u7ba1\u7406\u500b\u8cc7\uff0c\u63d0\u4f9b\u4f60\u767b\u5165\u7684\u670d\u52d9\uff0c\u4f60\u628a\u6703\u54e1\u8cc7\u6599\u901a\u901a\u5b58\u6211\u9019\u88e1\uff0c\u7528\u6236\u4e5f\u4e0d\u9700\u8981\u8a18\u5f97\u5f88\u591a\u7d44\u5e33\u5bc6\uff0c\u53ea\u9700\u8981\u8a18\u5f97\u6211\u5927\u7db2\u7ad9\u7684\u5e33\u5bc6\uff0c\u4e00\u6a23\u53ef\u4ee5\u767b\u5165\u4f60\u5c0f\u7db2\u7ad9(\u6216\u7a31\u70ba\u7b2c\u4e09\u65b9\u61c9\u7528\uff09\u4f86\u4f7f\u7528\u4f60\u63d0\u4f9b\u7684\u670d\u52d9\uff0c\u9019\u6a23\u7686\u5927\u6b61\u559c\u3002<\/p>\n<p>\u56e0\u6b64\uff0c\u5927\u5bb6\u5c31\u9019\u9ebc\u505a\u4e86\u3002<\/p>\n<p>\u4f46\u63d0\u4f9b\u9019\u6a23\u670d\u52d9\u7684\u5927\u5ee0\u8d8a\u4f86\u8d8a\u591a\uff0cGoogle\u3001Microsoft\u3001Yahoo\u2026\u90fd\u63d0\u4f9b\u4e86\u9019\u6a23\u7684\u670d\u52d9\uff0c\u5c0e\u81f4\u5c0f\u7db2\u7ad9\u70ba\u4e86\u5c0d\u4f7f\u7528\u8005\u66f4\u8cbc\u5fc3\uff0c\u53ef\u80fd\u8981\u540c\u6642\u9023\u7d50\u4e0a\u5f88\u591a\u9019\u7a2e\u63d0\u4f9b\u8eab\u5206\u670d\u52d9\u7684\u5927\u7db2\u7ad9\uff0c\u5982\u679c\u6bcf\u4e00\u5bb6\u9023\u7d50\u65b9\u5f0f\u90fd\u4e0d\u540c\uff0c\u5c31\u5f88\u7169\u3002\u56e0\u6b64\uff0c\u696d\u754c\u5c31\u958b\u4e86\u5e7e\u500b\u6703\uff0c\u5171\u540c\u6c7a\u5b9a\u4e86\u4e00\u5957\u5de5\u696d\u6a19\u6e96\uff0c\u5c31\u662f<a href=\"https:\/\/zh.wikipedia.org\/wiki\/OAuth\" target=\"_blank\" rel=\"noopener noreferrer\">OAuth<\/a>\u4e86\u3002<\/p>\n<h5>\u6709\u54ea\u4e9b\u529f\u80fd\uff1f<\/h5>\n<p>\u6240\u4ee5\u4f60\u6703\u767c\u73fe\uff0c\u57fa\u672c\u4e0a\u7db2\u7ad9\u958b\u767c\u4eba\u54e1\u6709\u5169\u7a2e\u8eab\u5206\uff0c\u4e00\u7a2e\u662fOAuth\u670d\u52d9\u7684<strong><u>\u63d0\u4f9b\u8005<\/u><\/strong>(\u50cf\u662fGoogle\u3001\u5fae\u8edf\u3001Line)\uff0c\u53e6\u4e00\u7a2e\u662fOAuth\u670d\u52d9\u7684<strong><u>\u4f7f\u7528\u8005<\/u><\/strong>\uff0c\u50cf\u662f\u4e00\u822c\u7684\u5c0f\u7db2\u7ad9(trello)\u3002\u800c\u7d42\u7aef\u7528\u6236\u53ea\u9700\u8981\u5728\u5927\u7db2\u7ad9\u7533\u8acb\u904e\u5e33\u865f\uff0c\u5c31\u53ef\u4ee5\u767b\u5165\u5c0f\u7db2\u7ad9\u4f86\u4f7f\u7528\u670d\u52d9\u3002<\/p>\n<p>\u4f46\uff0c\u5927\u7db2\u7ad9\u7576\u7136\u4e0d\u80fd\u7d66\u4f60(\u5c0f\u7db2\u7ad9)\u7528\u6236\u7684\u5e33\u865f\u548c\u5bc6\u78bc\uff0c\u5426\u5247\u591a\u9ebc\u4e0d\u5b89\u5168\u5462?\u56e0\u6b64OAuth\u5de5\u696d\u6a19\u6e96\u8b93\u670d\u52d9\u63d0\u4f9b\u8005(\u5927\u7db2\u7ad9)\u900f\u904e\u4e00\u7a2e\u6a19\u6e96\u7684\u4f5c\u6cd5\uff0c\u5728\u7528\u6236\u9a57\u8b49\u904e\u8eab\u5206\u4e4b\u5f8c\uff0c\u63d0\u4f9b\u4e00\u7d44\u6703\u904e\u671f\u7684\u4ee4\u724c\u7d66\u5c0f\u7db2\u7ad9\uff0c\u9019\u5c31\u662ftoken\u3002<\/p>\n<p>\u5c0f\u7db2\u7ad9\u62ff\u8457\u9019\u500b\u4ee4\u724c\uff0c\u5c31\u53ef\u4ee5\u8ddf\u5927\u7db2\u7ad9\u53d6\u5f97\u7528\u6236\u7684\u500b\u8cc7\uff0c\u6216\u662f\u5176\u4ed6\u9700\u8981\u7684\u8cc7\u6599\u3002\u5c0f\u7db2\u7ad9\u4e5f\u53ef\u4ee5\u62ff\u8457\u9019\u500b\u4ee4\u724c\uff0c\u8ddf\u5927\u7db2\u7ad9\u78ba\u8a8d\u8a72\u4ee4\u724c\u662f\u5426\u5df2\u7d93\u5230\u671f\u3002<\/p>\n<p>\u6240\u4ee5\uff0c\u6574\u500b\u6d41\u7a0b\u5927\u6982\u662f\u5e95\u4e0b\u9019\u6a23:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/arock.blob.core.windows.net\/blogdata201701\/01-131813-359e594f-646a-44df-bc25-43e148243f08.png\" width=\"640\" height=\"332\" \/><\/p>\n<p>\u7531\u65bc\u4e0a\u8ff0\u904e\u7a0b\u4e2d\u7684(2)\uff0c\u767b\u5165\u756b\u9762\u662f\u5927\u7db2\u7ad9\u63d0\u4f9b\u7684\uff0c\u56e0\u6b64\u4f60\u5c0f\u7db2\u7ad9\u4e0d\u6703\u5f97\u77e5\u7528\u6236\u7684\u5e33\u865f\u5bc6\u78bc\uff0c\u5927\u7db2\u7ad9\u53ea\u6703\u5728\u767b\u5165\u6210\u529f\u5f8c\uff0c\u628a\u4e00\u500b\u5177\u6709\u6709\u6548\u671f\u9650\u7684Token\u50b3\u7d66\u4f60\u5c0f\u7db2\u7ad9\uff0c\u4e00\u65e6\u4f60\u9700\u8981\u5b58\u53d6\u7528\u6236\u7684\u8cc7\u6599\uff0c\u5c31\u62ff\u9019\u500btoken\u53bb\u8ddf\u5927\u7db2\u7ad9\u6e9d\u901a\u3002<\/p>\n<p>\u7576\u7136\uff0c\u5be6\u969b\u4e0a\u7684OAuth\u64cd\u4f5c\u6b65\u9a5f\u53c8\u66f4\u8907\u96dc\uff0c\u5982\u679c\u4f60\u53c3\u8003\u6211\u5011\u524d\u9762\u4ecb\u7d39\u7684Line Login\u90a3\u7bc7\uff0c\u5c31\u6703\u77e5\u9053\uff0c\u7528\u6236\u88ab\u5f15\u5c0e\u5230\u5927\u7db2\u7ad9\u5b8c\u6210\u767b\u5165\u4e4b\u5f8c\uff0c\u4f60\u5c0f\u7db2\u7ad9\u662f\u7121\u6cd5<strong>\u76f4\u63a5<\/strong>\u53d6\u5f97token\u7684\uff0c\u800c\u662f\u53d6\u5f97\u4e00\u500bcode\uff0c\u518d\u53bb\u7528\u9019\u500bcode\u8ddf\u5927\u7db2\u7ad9\u63db\u5f97\u4e00\u500btoken\u3002\u70ba\u4f55\u8981\u591a\u9019\u4e00\u9053\u624b\u7e8c?\u56e0\u70ba\uff0c\u7db2\u969b\u7db2\u8def\u662f\u500b\u4e0d\u5b89\u5168\u7684\u6240\u5728\uff0c\u5728\u7db2\u8def\u4e0a\u50b3\u905e\u7684\u4efb\u4f55\u6771\u897f\uff0c\u90fd\u53ef\u80fd\u88ab\u8def\u4e0a\u7d93\u624b\u7684\u8def\u7531\u5668\u6216\u5176\u4ed6\u8a2d\u5099\u7d66\u64f7\u53d6\u3001\u507d\u9020\u3001\u8b8a\u66f4\uff0c\u56e0\u6b64\u8981\u78ba\u4fdd\u5b89\u5168\uff0c\u5f97\u66f4\u52a0\u5c0f\u5fc3\u4e00\u9ede\u3002<\/p>\n<p>\u56e0\u6b64\u4e00\u822c\u7684OAuth\u6d41\u7a0b\uff0c\u5176\u5be6\u61c9\u8a72\u9577\u5f97\u50cf\u662f\u5e95\u4e0b\u9019\u6a23(\u9019\u662f\u5fae\u8edfGraph API\u7684OAuth Auth Authorization Code Flow\u6d41\u7a0b) :<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/arock.blob.core.windows.net\/blogdata201701\/01-132436-668a0858-3df5-4da6-a053-d9fb78767dbd.png\" width=\"580\" height=\"480\" \/><\/p>\n<p>\u9084\u6709\u66f4\u8907\u96dc\u7684\u3001\u66f4\u9032\u968e\u7684\u3002<\/p>\n<p>\u5982\u679c\u5927\u7db2\u7ad9\u9664\u4e86\u63d0\u4f9b\u7528\u6236\u7684\u500b\u8cc7\u4e4b\u5916\uff0c\u9084\u8981\u53ef\u4ee5\u8b93\u5c0f\u7db2\u7ad9\u6709\u6b0a\u9650\u505a\u4e00\u4e9b\u984d\u5916\u7684\u4e8b\u60c5\uff0c\u50cf\u662f\u8b8a\u66f4\u7528\u6236\u5927\u982d\u7167\u3001\u53d6\u5f97\u7528\u6236\u4e0a\u50b3\u7684\u6a94\u6848\u3001\u5e6b\u7528\u6236book\u4e00\u500b\u884c\u4e8b\u66c6\u2026\u9019\u90fd\u662fOffice 365\/Google Apps\u88e1\u9762\u5178\u578b\u7684\u60c5\u5883\uff0c\u5982\u6b64\u4e00\u4f86\uff0c\u7d42\u7aef\u4f7f\u7528\u8005(end-user)\u53ef\u80fd\u5c31\u8981\u6388\u6b0a\u5c0f\u7db2\u7ad9\uff0c\u5230\u5e95\u80fd\u5920\u4f7f\u7528\u8a72\u7528\u6236\u5728\u5927\u7db2\u7ad9\u4e2d\u591a\u5c11\u8cc7\u6599\uff0c\u4e5f\u5c31\u662f\u5927\u7db2\u7ad9\u7684\u7528\u6236\u8981\u8ce6\u4e88\u5c0f\u7db2\u7ad9\u591a\u5927\u7684\u6b0a\u9650\uff0c\u4f86\u5b58\u53d6\u8a72\u7d42\u7aef\u7528\u6236\u7684\u500b\u8cc7? \u9019\u90e8\u5206\uff0c\u4e00\u822c\u7a31\u4e4b\u70ba Permission Scope\u3002<\/p>\n<p>\u6240\u4ee5\uff0cOAuth\u9664\u4e86\u63d0\u4f9b\u767b\u5165\u8eab\u5206\u9a57\u8b49\u4e4b\u5916\uff0c\u4e5f\u9010\u6f38\u958b\u59cb\u8ca0\u64d4\u4e86\u7db2\u7ad9\u5408\u4f5c\u4e4b\u9593\u7684\u6388\u6b0a\u7ba1\u7406\u529f\u80fd\u3002<\/p>\n<p>\u597d\uff0c\u73fe\u5728\u56de\u904e\u982d\u4f86\u770b\uff0c\u8acb\u53c3\u8003Line Login\u8207Line Notify\u9019\u5169\u7bc7\u4e2d\u7684\u4f8b\u5b50\uff0c\u4f60\u6703\u767c\u73fe\u4e00\u958b\u59cb\u6211\u5011\u90fd\u53ea\u662f\u7d44\u51fa\u4e00\u500bURL\uff0c\u4f86\u53d6\u5f97Authorization Code\uff0c\u9019\u4e00\u6bb5\u53d6\u5f97\u7684code\u662f\u660e\u78bc\uff0c\u8d70\u7684\u662fhttp get\uff0c\u900f\u904e\u700f\u89bd\u5668\u7db2\u5740\u5217\u4f86\u50b3\u905e\uff0c\u6240\u4ee5\u5728\u7db2\u969b\u7db2\u8def\u4e0a\u662f\u53ef\u4ee5\u88ab\u4efb\u4f55\u4eba\u64f7\u53d6\u770b\u5230\u7684(\u56e0\u6b64\u4f60\u7576\u7136\u61c9\u8a72\u52a0\u4e0aSSL)\uff0c\u4f46\u4f60\u6703\u767c\u73fe\u63a5\u4e0b\u4f86\u5c0f\u7db2\u7ad9\u53d6\u5f97Authorization Code\u4e4b\u5f8c\uff0c\u8981\u900f\u904ehttp post\uff0c\u5f9e\u5f8c\u7aef\u8d70\u53e6\u4e00\u500b\u8def\u5f91\u53bb\u8ddf\u5927\u7db2\u7ad9\u63db\u5f97token\uff0c\u9019\u4e00\u6bb5\u4e26\u4e0d\u662f\u8d70\u700f\u89bd\u5668http get\uff0c\u800c\u662f\u5728\u5c0f\u7db2\u7ad9\u7684\u4f3a\u670d\u5668\u7aef\u8d70\u53e6\u4e00\u500bhttps\u8def\u5f91\uff0c\u53bb\u8ddf\u5927\u7db2\u7ad9\u6e9d\u901a\u3002\u7531\u65bc\u9019\u4e00\u6bb5\u5f80\u5f80\u662f\u5728\u80cc\u5f8c\u505a\u7684(\u4f3a\u670d\u5668\u7aef\u5c0d\u4f3a\u670d\u5668\u7aef\uff0c\u4e0d\u6703\u7d93\u904e\u7528\u6236\u7aef)\uff0c\u56e0\u6b64\u5b89\u5168\u6027\u76f8\u5c0d\u9ad8(OAuth\u4e5f\u6709\u5be6\u4f5c\u6210\u5728\u524d\u7aef\u53d6token\u7684implicit flow\uff0c\u4f46\u8d70\u5f8c\u7aef\u76f8\u5c0d\u5b89\u5168\u9ede)\u3002\u5982\u679c\u5f9e\u5f8c\u7aef\u63db\u53d6Token\uff0c\u4e0d\u7ba1\u662f\u700f\u89bd\u5668\u6216\u7528\u6236\u672c\u8eab\u90fd\u7121\u6cd5\u5f97\u77e5token\uff0c\u5c31\u7b97\u4f60\u7684\u7528\u6236\u88ab\u4eba\u5728\u700f\u89bd\u5668\u6216\u96fb\u8166\u4e2d\u5b89\u88dd\u4e86\u6728\u99ac\u4e5f\u7121\u6cd5\u5f97\u77e5\uff0c\u518d\u52a0\u4e0aToken\u9084\u6709\u671f\u9650\uff0c\u56e0\u6b64\u76f8\u5c0d\u5b89\u5168\u3002<\/p>\n<p>\u9019\u4e5f\u662f\u6211\u5011\u524d\u9762\u8aaa\u7684\uff0c\u5be6\u52d9\u4e0a\u5c0f\u7db2\u7ad9\u88ab\u5c0e\u5f15\u5230\u5927\u7db2\u7ad9\u5b8c\u6210\u767b\u5165\u4e4b\u5f8c\uff0c\u4e26\u975e\u76f4\u63a5\u53d6\u5f97token\u800c\u662f\u53d6\u5f97\u4e00\u500bAuthorization Code\u7684\u539f\u56e0\u3002<\/p>\n<blockquote><p>\u6240\u4ee5\u4f60\u4e5f\u4e0d\u96e3\u7406\u89e3\uff0c\u65e2\u7136Token\u6703\u5230\u671f\uff0c\u5c31\u884d\u751f\u51fa\u9700\u8981\u66f4\u65b0(refresh)token\u3001\u5224\u65b7token\u7684\u6709\u6548\u6027\u3001\u8a2d\u5b9aToken\u7684\u751f\u547d\u9577\u5ea6\u2026\u7b49\u76f8\u95dc\u8b70\u984c\uff0c\u4f46\u5728\u9019\u908a\u5c31\u5148\u4e0d\u4ecb\u7d39\u4e86\u3002<\/p><\/blockquote>\n<h5>\u66f4\u9032\u4e00\u6b65\u5be6\u73feSSO<\/h5>\n<p>\u597d\u7684\uff0c\u5047\u8a2d\u7db2\u8def\u4e16\u754c\u7684\u8eab\u5206\u9a57\u8b49\uff0c\u90fd\u662f\u67d0\u4e00\u500b\u5927\u7db2\u7ad9(\u4f8b\u5982Google)\u63d0\u4f9b\u7684\uff0c\u800c\u5176\u4ed6\u670d\u52d9\u7684\u5c0f\u7db2\u7ad9(\u7db2\u7ad9A\u3001\u7db2\u7ad9B\u3001\u7db2\u7ad9C\u2026)\uff0c\u90fd\u4f7f\u7528Google\u63d0\u4f9b\u7684\u8eab\u5206\u9a57\u8b49\u670d\u52d9\uff0c\u90a3\u9019\u4e16\u754c\u5c31\u5f88\u55ae\u7d14\u4e86\uff0c\u4e00\u65e6\u7528\u6236\u767b\u5165\u4e86\u7db2\u7ad9B\uff0c\u7528\u8457\u7528\u8457\uff0c\u9023\u7d50\u5230\u4e86\u7db2\u7ad9A\uff0c\u9084\u9700\u8981\u91cd\u65b0\u767b\u5165\u4e00\u6b21\u55ce? \u4e0d\u9700\u8981\uff0c\u56e0\u70ba\u5728\u7db2\u7ad9B\u5df2\u7d93\u767b\u5165\u904e\u4e86\uff0c\u9019\u5c31\u662fSSO(Single Sign On)\u5728internet\u4e0a\u7684\u5be6\u73fe\u3002<\/p>\n<p>\u4e00\u65e6OAuth\u63d0\u4f9b\u8005\u548c\u4f7f\u7528\u8005(\u4e5f\u5c31\u662f\u5927\u5c0f\u7db2\u7ad9)\uff0c\u90fd\u6709\u5be6\u4f5c\u9019\u6a23\u7684\u529f\u80fd\uff0c\u90a3\u7528\u6236\u7ff1\u7fd4\u65bc\u7db2\u969b\u7db2\u8def\u4e0a\u6642\uff0c\u5c31\u53ea\u9700\u8981\u8a18\u5f97\u4e00\u7d44\u5e33\u865f\u5bc6\u78bc\u4e86\uff0c\u9019\u4e16\u754c\u591a\u9ebc\u7f8e\u597d\u2026<\/p>\n<p>\u7576\u7136\uff0c\u73fe\u5be6\u4e16\u754c\u4e0d\u662f\u9019\u6a23\u7684\uff0c\u4f60\u60f3\u60f3\uff0c\u7576\u500b\u5927\u7db2\u7ad9\u5c07\u6703\u64c1\u6709\u6240\u6709\u4eba\u7684\u500b\u8cc7\u8036\uff0c\u9019\u610f\u5473\u8457\u4ec0\u9ebc\u5462? \u4e0d\u7528\u5927\u8166\u60f3\u4e5f\u77e5\u9053\u3002 \u6240\u4ee5\uff0c\u53ea\u6709\u4f60\u60f3\u505a\u5927\u7db2\u7ad9? \u4e0d\uff0c\u6bcf\u500b\u4eba\u90fd\u60f3\u505a\u3002\u56e0\u6b64\u53ea\u8981\u7a0d\u5177\u898f\u6a21\u7db2\u969b\u7db2\u8def\u670d\u52d9\u63d0\u4f9b\u8005\uff0c\u90fd\u5e0c\u671b\u81ea\u5df1\u662f\u6700\u5927\u7684\u90a3\u500b\u8eab\u5206\u9a57\u8b49\u63d0\u4f9b\u8005\u3002<\/p>\n<p>\u73fe\u5728\u3001\u9023Line\u9019\u500bIM\u754c\u7684\u65b0\u73a9\u5bb6(\u76f8\u5c0dWhat\u2019s app\u3001skype\u4f86\u8aaa\uff0c\u771f\u7684\u7b97\u662f\u65b0\u7684)\uff0c\u633e\u8457\u5728\u4e9e\u6d32(\u5176\u5be6\u4e5f\u53ea\u6709\u53f0\u7063\u3001\u65e5\u672c\u3001\u548c\u97d3\u570b\u2026)\u7684\u8d85\u4eba\u6c23\uff0c\u90fd\u958b\u59cb\u63d0\u4f9bOAuth Provider\u670d\u52d9\u4e86\uff0c\u4f60\u8aaa\uff0cLine\u9019\u5bb6\u516c\u53f8\u5b83\u9084\u4e0d\u5920\u4efb\u6027\u55ce?<br \/>\n<strong>#\u641e\u61c2\u4e86OAuth\u548cSSO\uff0c\u4e0d\u59a8\u63a5\u8457\u73a9\u73a9<\/strong><strong>Line Notify<\/strong><strong>\u8207<\/strong><strong>Line Login<\/strong><strong>\uff0c\u5f88\u597d\u73a9\u5537\u2026\u00a0<img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/lh3.googleusercontent.com\/-PywZ1rsFfXs\/WG8BdWWP4vI\/AAAAAAAAAzM\/NHBmp-aCljg\/wlEmoticon-smile%25255B2%25255D.png?imgmax=800\" alt=\"Smile\" \/><\/strong><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u6b21\u641e\u61c2OAuth\u8207SSO\u5728\u5e79\u4ec0\u9ebc? \u6700\u8fd1\u7684Line Notify\u3001Line Login\uff0c\u4ee5\u53ca\u524d\u4e00\u9663\u5b50\u7684Microsoft Graph API\uff0c\u5168\u90fd\u4f7f\u7528\u5230\u4e86OAuth\u4f5c\u70ba\u7528\u6236\u8eab\u5206\u9a57\u8b49\u4ee5\u53ca\u8cc7\u6e90\u5b58\u53d6\u7684\u57fa\u790e\u3002\u4f46\u5f88\u591a\u8b80\u8005\u6703\u5361\u5728OAuth\u7684\u904b\u4f5c\u6d41\u7a0b\u4e0a\uff0c\u6839\u672c\u7684\u539f\u56e0\u662f\u4e0d\u7406\u89e3OAuth\u5230\u5e95\u662f\u5e79\u561b\u7684?\u5176\u5b58\u5728\u7684\u76ee\u7684\u70ba\u4f55?\u4ee5\u53ca\u5982\u4f55\u61c9\u7528? \u56e0\u6b64\uff0c\u6211\u60f3\u82b1\u4e00\u500b\u7bc7\u5e45\uff0c\u76e1\u53ef\u80fd\u77ed\u7684\u4ecb\u7d39\u4e00\u4e0bOAuth\u8207SSO\uff0c\u4f46\uff0c\u8207\u574a\u9593\u6587\u7ae0\u4e0d\u540c\u7684\u662f\uff0c\u6211\u5e0c\u671b\u5f9e\u61c9\u7528\u60c5\u5883\u7684\u89d2\u5ea6(\u800c\u975e\u6280\u8853)\u5207\u5165\u8ac7\u9019\u4ef6\u4e8b\u60c5\uff0c\u5180\u671b\u80fd\u5920\u8b93\u958b\u767c\u4eba\u54e1\u5c0dOAuth\u6709\u500b\u6700\u57fa\u672c\u7684\u8a8d\u8b58\u3002 OAuth\u7684\u80cc\u666f \u6211\u5011\u56de\u982d\u770bLine Login\u8207Line Notify\u4e2d\u7684\u4f8b\u5b50\uff0cOAuth\u5728\u9019\u908a\u6700\u7c21\u55ae\u7684\u61c9\u7528\u60c5\u5883\uff0c\u5c31\u662f\u8eab\u5206\u9a57\u8b49\u3002\u5178\u578b\u7684\u60c5\u5883\u4e2d\u6709\u5e7e\u500b\u89d2\u8272\uff0c\u5206\u5225\u662f: \u7db2\u7ad9\u6216App\u7684\u958b\u767c\u55ae\u4f4d : \u4e5f\u5c31\u662f\u5404\u4f4d\u958b\u767c\u4eba\u54e1 OAuth\u670d\u52d9\u7684\u63d0\u4f9b\u8005(Provider) : \u4e5f\u5c31\u662fLine(\u6216Google\u3001Microsoft\u2026etc.) \u7d42\u7aef\u7528\u6236(End-User) : \u7db2\u7ad9\u4f7f\u7528\u8005\u3001Line\u4f7f\u7528\u8005\u3001\u6d88\u8cbb\u8005\u3001\u5ba2\u6236\u2026etc. \u4e0a\u9762\u9019\u4e09\u8005\u7684\u95dc\u4fc2\u662f\u4ec0\u9ebc\uff1f \u7576\u6211\u5011\u5efa\u7acb\u4e00\u500b\u7db2\u7ad9\uff08\u4f8b\u5982Pc Home\u8cfc\u7269\uff09\u3001\u6216App(\u4f8b\u5982\u4e00\u500b\u624b\u6a5f\u904a\u6232)\uff0c\u90fd\u975e\u5e38\u6709\u53ef\u80fd\u9700\u8981\u5efa\u7acb\u4e00\u7d44\u6703\u54e1\u6a5f\u5236\uff0c\u9019\u4e9b\u6a5f\u5236\u5305\u542b: \u767b\u5165\uff08\u5305\u542b\u8eab\u5206\u9a57\u8b49\uff0c\u5e33\u865f\u3001\u5bc6\u78bc\u4fdd\u5b58\u2026\u7b49\uff09 \u500b\u8cc7\u7ba1\u7406\uff08\u7528\u6236\u540d\u7a31\u3001\u5730\u5740\u3001\u96fb\u8a71\u3001\u66b1\u7a31\u3001\u624b\u6a5f\u2026\u7b49) \u4ee5\u5f80\uff0c\u5e7e\u4e4e\u90fd\u662f\u6bcf\u4e00\u500b\u7db2\u7ad9\u81ea\u5df1\u505a\u4e00\u5957\uff0c\u4f46\u9019\u6a23\u6709\u5f88\u591a\u9ebb\u7169\u4e8b\uff0c\u9996\u5148\u7528\u6236\u8981\u8a18\u5f97\u5f88\u591a\u7d44\u5e33\u865f\u5bc6\u78bc\uff0c\u800c\u6bcf\u4e00\u500b\u7db2\u7ad9\u90fd\u81ea\u5df1\u641e\u4e00\u5957\u6703\u54e1\u6a5f\u5236\uff0c\u7db2\u7ad9\u958b\u767c\u4eba\u54e1\u81ea\u5df1\u4e5f\u5f88\u8f9b\u82e6\uff0c\u52a0\u4e0a\u6700\u8fd1\u9019\u5e7e\u5e74\u5927\u5bb6\u90fd\u5f88\u91cd\u8996\u500b\u8cc7\uff0c\u7db2\u7ad9\u5132\u5b58\uff08\u4fdd\u7ba1\uff09\u4e86\u5f88\u591a\u5e33\u865f\u5bc6\u78bc\u8207\u500b\u4eba\u8cc7\u6599\uff0c\u7e3d\u662f\u6703\u6709\u88ab\u99ed\u7684\u98a8\u96aa\u3002\u56e0\u6b64\uff0c\u9019\u5341\u5e74\u4f86\uff0c\u5f88\u591a\u5927\u5ee0\u958b\u59cb\u63d0\u4f9b\u767b\u5165\uff08\u8207\u8eab\u5206\u9a57\u8b49\uff09\u6a5f\u5236\u670d\u52d9\u3002 \u4e5f\u5c31\u662f\u8aaa\uff0c\u5c0f\u7db2\u7ad9\u4f60\u4e0d\u7528\u81ea\u5df1\u505a\u767b\u5165\u548c\u6703\u54e1\u7ba1\u7406\u4e86\uff0c\u4f60\u9023\u904e\u4f86\u6211\u9019\u908a\uff0c\u6211\u662f\u5927\u7db2\u7ad9\uff0c\u6211\u5df2\u7d93\u6709\u5e7e\u767e\u842c\u4e0a\u5104\u7684\u7528\u6236\uff0c(\u4f8b\u5982\u5168\u53f0\u7063\u90fd\u7528Line)\uff0c\u800c\u4e14\u65e9\u5c31\u505a\u4e86\u8d85\u7d1a\u5b89\u5168\u7684\u6703\u54e1\u7ba1\u7406\u6a5f\u5236\uff0c\u4f60\u9019\u5c0f\u7db2\u7ad9\u4f55\u5fc5\u81ea\u5df1\u505a\u6703\u54e1\u7ba1\u7406\u5462\uff1f\u4f60\u8ddf\u6211\u9023\u7d50\u4e0d\u5c31\u5f97\u4e86\uff0c\u6211\u5927\u7db2\u7ad9\u4f86\u5e6b\u4f60\u7ba1\u7406\u500b\u8cc7\uff0c\u63d0\u4f9b\u4f60\u767b\u5165\u7684\u670d\u52d9\uff0c\u4f60\u628a\u6703\u54e1\u8cc7\u6599\u901a\u901a\u5b58\u6211\u9019\u88e1\uff0c\u7528\u6236\u4e5f\u4e0d\u9700\u8981\u8a18\u5f97\u5f88\u591a\u7d44\u5e33\u5bc6\uff0c\u53ea\u9700\u8981\u8a18\u5f97\u6211\u5927\u7db2\u7ad9\u7684\u5e33\u5bc6\uff0c\u4e00\u6a23\u53ef\u4ee5\u767b\u5165\u4f60\u5c0f\u7db2\u7ad9(\u6216\u7a31\u70ba\u7b2c\u4e09\u65b9\u61c9\u7528\uff09\u4f86\u4f7f\u7528\u4f60\u63d0\u4f9b\u7684\u670d\u52d9\uff0c\u9019\u6a23\u7686\u5927\u6b61\u559c\u3002 \u56e0\u6b64\uff0c\u5927\u5bb6\u5c31\u9019\u9ebc\u505a\u4e86\u3002 \u4f46\u63d0\u4f9b\u9019\u6a23\u670d\u52d9\u7684\u5927\u5ee0\u8d8a\u4f86\u8d8a\u591a\uff0cGoogle\u3001Microsoft\u3001Yahoo\u2026\u90fd\u63d0\u4f9b\u4e86\u9019\u6a23\u7684\u670d\u52d9\uff0c\u5c0e\u81f4\u5c0f\u7db2\u7ad9\u70ba\u4e86\u5c0d\u4f7f\u7528\u8005\u66f4\u8cbc\u5fc3\uff0c\u53ef\u80fd\u8981\u540c\u6642\u9023\u7d50\u4e0a\u5f88\u591a\u9019\u7a2e\u63d0\u4f9b\u8eab\u5206\u670d\u52d9\u7684\u5927\u7db2\u7ad9\uff0c\u5982\u679c\u6bcf\u4e00\u5bb6\u9023\u7d50\u65b9\u5f0f\u90fd\u4e0d\u540c\uff0c\u5c31\u5f88\u7169\u3002\u56e0\u6b64\uff0c\u696d\u754c\u5c31\u958b\u4e86\u5e7e\u500b\u6703\uff0c\u5171\u540c\u6c7a\u5b9a\u4e86\u4e00\u5957\u5de5\u696d\u6a19\u6e96\uff0c\u5c31\u662fOAuth\u4e86\u3002 \u6709\u54ea\u4e9b\u529f\u80fd\uff1f \u6240\u4ee5\u4f60\u6703\u767c\u73fe\uff0c\u57fa\u672c\u4e0a\u7db2\u7ad9\u958b\u767c\u4eba\u54e1\u6709\u5169\u7a2e\u8eab\u5206\uff0c\u4e00\u7a2e\u662fOAuth\u670d\u52d9\u7684\u63d0\u4f9b\u8005(\u50cf\u662fGoogle\u3001\u5fae\u8edf\u3001Line)\uff0c\u53e6\u4e00\u7a2e\u662fOAuth\u670d\u52d9\u7684\u4f7f\u7528\u8005\uff0c\u50cf\u662f\u4e00\u822c\u7684\u5c0f\u7db2\u7ad9(trello)\u3002\u800c\u7d42\u7aef\u7528\u6236\u53ea\u9700\u8981\u5728\u5927\u7db2\u7ad9\u7533\u8acb\u904e\u5e33\u865f\uff0c\u5c31\u53ef\u4ee5\u767b\u5165\u5c0f\u7db2\u7ad9\u4f86\u4f7f\u7528\u670d\u52d9\u3002 \u4f46\uff0c\u5927\u7db2\u7ad9\u7576\u7136\u4e0d\u80fd\u7d66\u4f60(\u5c0f\u7db2\u7ad9)\u7528\u6236\u7684\u5e33\u865f\u548c\u5bc6\u78bc\uff0c\u5426\u5247\u591a\u9ebc\u4e0d\u5b89\u5168\u5462?\u56e0\u6b64OAuth\u5de5\u696d\u6a19\u6e96\u8b93\u670d\u52d9\u63d0\u4f9b\u8005(\u5927\u7db2\u7ad9)\u900f\u904e\u4e00\u7a2e\u6a19\u6e96\u7684\u4f5c\u6cd5\uff0c\u5728\u7528\u6236\u9a57\u8b49\u904e\u8eab\u5206\u4e4b\u5f8c\uff0c\u63d0\u4f9b\u4e00\u7d44\u6703\u904e\u671f\u7684\u4ee4\u724c\u7d66\u5c0f\u7db2\u7ad9\uff0c\u9019\u5c31\u662ftoken\u3002 \u5c0f\u7db2\u7ad9\u62ff\u8457\u9019\u500b\u4ee4\u724c\uff0c\u5c31\u53ef\u4ee5\u8ddf\u5927\u7db2\u7ad9\u53d6\u5f97\u7528\u6236\u7684\u500b\u8cc7\uff0c\u6216\u662f\u5176\u4ed6\u9700\u8981\u7684\u8cc7\u6599\u3002\u5c0f\u7db2\u7ad9\u4e5f\u53ef\u4ee5\u62ff\u8457\u9019\u500b\u4ee4\u724c\uff0c\u8ddf\u5927\u7db2\u7ad9\u78ba\u8a8d\u8a72\u4ee4\u724c\u662f\u5426\u5df2\u7d93\u5230\u671f\u3002 \u6240\u4ee5\uff0c\u6574\u500b\u6d41\u7a0b\u5927\u6982\u662f\u5e95\u4e0b\u9019\u6a23: \u7531\u65bc\u4e0a\u8ff0\u904e\u7a0b\u4e2d\u7684(2)\uff0c\u767b\u5165\u756b\u9762\u662f\u5927\u7db2\u7ad9\u63d0\u4f9b\u7684\uff0c\u56e0\u6b64\u4f60\u5c0f\u7db2\u7ad9\u4e0d\u6703\u5f97\u77e5\u7528\u6236\u7684\u5e33\u865f\u5bc6\u78bc\uff0c\u5927\u7db2\u7ad9\u53ea\u6703\u5728\u767b\u5165\u6210\u529f\u5f8c\uff0c\u628a\u4e00\u500b\u5177\u6709\u6709\u6548\u671f\u9650\u7684Token\u50b3\u7d66\u4f60\u5c0f\u7db2\u7ad9\uff0c\u4e00\u65e6\u4f60\u9700\u8981\u5b58\u53d6\u7528\u6236\u7684\u8cc7\u6599\uff0c\u5c31\u62ff\u9019\u500btoken\u53bb\u8ddf\u5927\u7db2\u7ad9\u6e9d\u901a\u3002 \u7576\u7136\uff0c\u5be6\u969b\u4e0a\u7684OAuth\u64cd\u4f5c\u6b65\u9a5f\u53c8\u66f4\u8907\u96dc\uff0c\u5982\u679c\u4f60\u53c3\u8003\u6211\u5011\u524d\u9762\u4ecb\u7d39\u7684Line Login\u90a3\u7bc7\uff0c\u5c31\u6703\u77e5\u9053\uff0c\u7528\u6236\u88ab\u5f15\u5c0e\u5230\u5927\u7db2\u7ad9\u5b8c\u6210\u767b\u5165\u4e4b\u5f8c\uff0c\u4f60\u5c0f\u7db2\u7ad9\u662f\u7121\u6cd5\u76f4\u63a5\u53d6\u5f97token\u7684\uff0c\u800c\u662f\u53d6\u5f97\u4e00\u500bcode\uff0c\u518d\u53bb\u7528\u9019\u500bcode\u8ddf\u5927\u7db2\u7ad9\u63db\u5f97\u4e00\u500btoken\u3002\u70ba\u4f55\u8981\u591a\u9019\u4e00\u9053\u624b\u7e8c?\u56e0\u70ba\uff0c\u7db2\u969b\u7db2\u8def\u662f\u500b\u4e0d\u5b89\u5168\u7684\u6240\u5728\uff0c\u5728\u7db2\u8def\u4e0a\u50b3\u905e\u7684\u4efb\u4f55\u6771\u897f\uff0c\u90fd\u53ef\u80fd\u88ab\u8def\u4e0a\u7d93\u624b\u7684\u8def\u7531\u5668\u6216\u5176\u4ed6\u8a2d\u5099\u7d66\u64f7\u53d6\u3001\u507d\u9020\u3001\u8b8a\u66f4\uff0c\u56e0\u6b64\u8981\u78ba\u4fdd\u5b89\u5168\uff0c\u5f97\u66f4\u52a0\u5c0f\u5fc3\u4e00\u9ede\u3002 \u56e0\u6b64\u4e00\u822c\u7684OAuth\u6d41\u7a0b\uff0c\u5176\u5be6\u61c9\u8a72\u9577\u5f97\u50cf\u662f\u5e95\u4e0b\u9019\u6a23(\u9019\u662f\u5fae\u8edfGraph API\u7684OAuth Auth Authorization Code Flow\u6d41\u7a0b) : \u9084\u6709\u66f4\u8907\u96dc\u7684\u3001\u66f4\u9032\u968e\u7684\u3002 \u5982\u679c\u5927\u7db2\u7ad9\u9664\u4e86\u63d0\u4f9b\u7528\u6236\u7684\u500b\u8cc7\u4e4b\u5916\uff0c\u9084\u8981\u53ef\u4ee5\u8b93\u5c0f\u7db2\u7ad9\u6709\u6b0a\u9650\u505a\u4e00\u4e9b\u984d\u5916\u7684\u4e8b\u60c5\uff0c\u50cf\u662f\u8b8a\u66f4\u7528\u6236\u5927\u982d\u7167\u3001\u53d6\u5f97\u7528\u6236\u4e0a\u50b3\u7684\u6a94\u6848\u3001\u5e6b\u7528\u6236book\u4e00\u500b\u884c\u4e8b\u66c6\u2026\u9019\u90fd\u662fOffice 365\/Google Apps\u88e1\u9762\u5178\u578b\u7684\u60c5\u5883\uff0c\u5982\u6b64\u4e00\u4f86\uff0c\u7d42\u7aef\u4f7f\u7528\u8005(end-user)\u53ef\u80fd\u5c31\u8981\u6388\u6b0a\u5c0f\u7db2\u7ad9\uff0c\u5230\u5e95\u80fd\u5920\u4f7f\u7528\u8a72\u7528\u6236\u5728\u5927\u7db2\u7ad9\u4e2d\u591a\u5c11\u8cc7\u6599\uff0c\u4e5f\u5c31\u662f\u5927\u7db2\u7ad9\u7684\u7528\u6236\u8981\u8ce6\u4e88\u5c0f\u7db2\u7ad9\u591a\u5927\u7684\u6b0a\u9650\uff0c\u4f86\u5b58\u53d6\u8a72\u7d42\u7aef\u7528\u6236\u7684\u500b\u8cc7? \u9019\u90e8\u5206\uff0c\u4e00\u822c\u7a31\u4e4b\u70ba Permission Scope\u3002 \u6240\u4ee5\uff0cOAuth\u9664\u4e86\u63d0\u4f9b\u767b\u5165\u8eab\u5206\u9a57\u8b49\u4e4b\u5916\uff0c\u4e5f\u9010\u6f38\u958b\u59cb\u8ca0\u64d4\u4e86\u7db2\u7ad9\u5408\u4f5c\u4e4b\u9593\u7684\u6388\u6b0a\u7ba1\u7406\u529f\u80fd\u3002 \u597d\uff0c\u73fe\u5728\u56de\u904e\u982d\u4f86\u770b\uff0c\u8acb\u53c3\u8003Line Login\u8207Line Notify\u9019\u5169\u7bc7\u4e2d\u7684\u4f8b\u5b50\uff0c\u4f60\u6703\u767c\u73fe\u4e00\u958b\u59cb\u6211\u5011\u90fd\u53ea\u662f\u7d44\u51fa\u4e00\u500bURL\uff0c\u4f86\u53d6\u5f97Authorization &hellip; <a href=\"https:\/\/www.strongd.net\/?p=1559\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">\u4e00\u6b21\u641e\u61c2OAuth\u8207SSO\u5728\u5e79\u4ec0\u9ebc?<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-1559","post","type-post","status-publish","format-standard","hentry","category-20"],"_links":{"self":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/1559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1559"}],"version-history":[{"count":1,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/1559\/revisions"}],"predecessor-version":[{"id":1560,"href":"https:\/\/www.strongd.net\/index.php?rest_route=\/wp\/v2\/posts\/1559\/revisions\/1560"}],"wp:attachment":[{"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.strongd.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}