理解OAuth:服務間的授權機制
好的,讓我來教你一下關于這個奇怪的東西。
在不同的項目中,認證有很多不同的方式。但在我們深入探討它的使用方式之前,讓我們先來看看它最初的用途。
首先,我們可以從名稱中得到一些線索。“auth”這個詞與什么有關呢?問題是,這里的“auth”是指認證還是授權?“auth”這個詞既可以用于認證,也可以用于授權。
而更重要的是,最初的創建并不是為了服務來授權個人。而是為了一個服務來授權另一個服務。
現在你可能會說,嘿,你瘋了吧?為什么一個服務要和另一個服務進行授權呢?嗯,首先,問得好。第二,別說我瘋了。
好,讓我解釋一下我的意思。讓我們以一個經典的例子來說明,比如照片打印服務。你一定見過這樣的網站,用戶上傳照片,然后付錢給他們打印照片。
假設你正在開展一個新的照片打印業務,讓用戶上傳照片到你的網站,然后他們可以訂購這些照片的打印。一切都很順利。
但問題是,現在沒人把照片存儲在自己的設備上了,都使用云存儲。所以你不斷收到的功能請求是讓用戶能夠從Google Drive等地方導入他們的照片,然后直接從那里打印,而不需要用戶下載和再上傳一次。
好,但問題來了,現在你需要如何在你的應用程序中實現從Google Drive導入功能呢?你需要連接到用戶的Google賬戶并訪問他們的文件。
等等,你的應用程序怎么能做到這一點呢?用戶的文件存儲在Google Drive上,需要Google的認證。你怎么為你的網站編寫代碼,讓它能代表用戶與Google進行身份認證呢?</