摘要:登錄方式本來公司項目是正常的用戶名密碼登錄,但是突然轉換成了第三方方式登錄,由此開始學習了該種登錄形式。同普通的用戶名密碼登錄不同,登錄方式中,增加了一個授權層。至此,三方登錄已經成功登錄。
oAuth2 登錄方式
本來公司項目是正常的用戶名、密碼登錄,但是突然轉換成了第三方oAuth2方式登錄,由此開始學習了該種登錄形式。
思路共有5種授權模式,有授權碼模式、簡化模式、密碼模式、客戶端模式,這里只介紹授權碼模式,這大概是功能最完整、流程最嚴密的授權模式,大概也是使用最多的授權模式。
同普通的用戶名、密碼登錄不同,oAuth2登錄方式中,增加了一個授權層。用戶想要進行登錄操作時,會被跳轉到授權服務器上進行登錄,在授權服務器登錄成功時,會觸發一個回調函數重新回到當前用戶所在系統,之后執行后續操作。
這里使用了simple-oauth2。正常的npm install simple-oauth2即可,想了解更詳細的使用方法,點擊此傳送門便可了解。
配置信息:
cosnt oauth2 = simpleOauth.create({ "clientId": "", "clientSecret": " ", "tokenPath": "/oauth/access_token", "authorizePath": "/oauth/authorize" })
步驟:
(1)用戶點擊登錄按鈕。服務器事先設定一個配置信息如上所示,后臺通過下面的這個函數會得到一個Url,結果類似于/oauth/authorize/redirect_uri=http://localhost:3000/callback&client_id=&clientsecret=&response_type=code。
// /auth路由處理 const authorizationUrl = oauth2.authorizationCode.authorizeURL({ redirect_uri: "http://localhost:3000/callback" // scope: "" 可有可無參數 // state: "" 可有可無參數 可以自己任意填寫 })
(2)通過該Url,可以到達三方登錄界面,用戶在三方登陸成功時,上面的redirect_uri就會被回調,同時會附帶一個code在redirect_uri上,該code由三方登錄服務器提供,該code與客戶端Id和redirect_uri是一一對應的關系,回調的url如/callback/code=。
// /callback路由處理 let code = req.query.code oauth2.authorizationsCode.getToken(code, (err, result) => { if(err) // handle error const token = oauth2.accessToken.create(result) // 這里就是得到的access_token })
(3)重要的token得到之后,就預示著三方登錄已經登錄成功。接下來就是自己系統的處理了。
至此,三方登錄已經成功登錄。
寫的可能不盡如人意,我也是學習者,寫的目的也是為了讓自己對oAuth2登錄加深印象,如果錯誤,歡迎指正,一起進步啊。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/89233.html
摘要:前言基于做微服務架構分布式系統時,作為認證的業內標準,也提供了全套的解決方案來支持在環境下使用,提供了開箱即用的組件。 前言 基于SpringCloud做微服務架構分布式系統時,OAuth2.0作為認證的業內標準,Spring Security OAuth2也提供了全套的解決方案來支持在Spring Cloud/Spring Boot環境下使用OAuth2.0,提供了開箱即用的組件。但...
摘要:第三方登錄是現在常見的登錄方式,免注冊且安全方便快捷。大部分的第三方登錄都參考了的認證方法。這里我主要總結一下第三方登錄組件的設計流程。身份認證組件,需解耦,至少要喚起登錄和登出事件。認證成功喚起登錄事件并將用戶信息傳遞出去。 第三方登錄是現在常見的登錄方式,免注冊且安全方便快捷。 本篇文章將以Github為例,介紹如何在自己的站點添加第三方登錄模塊。 OAuth2.0 OAuth(開...
摘要:最近基于開發了一款圖床插件,現在已經開源并上架應用商店。通過方法把轉成,然后放在里測試一下看來效果是的,接下來就是對圖床插件進行開發的步驟了。至此,整個插件的開發發布流程就已經完成了。 showImg(https://user-images.githubusercontent.com/12172868/57382983-8f29b900-71e0-11e9-8fe9-c0f12fd54...
閱讀 1768·2023-04-26 01:44
閱讀 1211·2021-11-12 10:34
閱讀 1578·2021-09-09 09:33
閱讀 1729·2019-08-30 15:44
閱讀 2892·2019-08-30 13:49
閱讀 2189·2019-08-29 15:26
閱讀 943·2019-08-26 13:30
閱讀 1409·2019-08-23 18:15