成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

簡(jiǎn)單學(xué)習(xí)使用oAuth2方式進(jìn)行三方登錄

anquan / 589人閱讀

摘要:登錄方式本來(lái)公司項(xiàng)目是正常的用戶名密碼登錄,但是突然轉(zhuǎn)換成了第三方方式登錄,由此開始學(xué)習(xí)了該種登錄形式。同普通的用戶名密碼登錄不同,登錄方式中,增加了一個(gè)授權(quán)層。至此,三方登錄已經(jīng)成功登錄。

oAuth2 登錄方式

本來(lái)公司項(xiàng)目是正常的用戶名、密碼登錄,但是突然轉(zhuǎn)換成了第三方oAuth2方式登錄,由此開始學(xué)習(xí)了該種登錄形式。

思路

共有5種授權(quán)模式,有授權(quán)碼模式、簡(jiǎn)化模式、密碼模式、客戶端模式,這里只介紹授權(quán)碼模式,這大概是功能最完整、流程最嚴(yán)密的授權(quán)模式,大概也是使用最多的授權(quán)模式。

同普通的用戶名、密碼登錄不同,oAuth2登錄方式中,增加了一個(gè)授權(quán)層。用戶想要進(jìn)行登錄操作時(shí),會(huì)被跳轉(zhuǎn)到授權(quán)服務(wù)器上進(jìn)行登錄,在授權(quán)服務(wù)器登錄成功時(shí),會(huì)觸發(fā)一個(gè)回調(diào)函數(shù)重新回到當(dāng)前用戶所在系統(tǒng),之后執(zhí)行后續(xù)操作。

這里使用了simple-oauth2。正常的npm install simple-oauth2即可,想了解更詳細(xì)的使用方法,點(diǎn)擊此傳送門便可了解。

配置信息:

cosnt oauth2 = simpleOauth.create({
        "clientId": "",
        "clientSecret": "",
        "tokenPath": "/oauth/access_token",
        "authorizePath": "/oauth/authorize"
    })

步驟:

(1)用戶點(diǎn)擊登錄按鈕。服務(wù)器事先設(shè)定一個(gè)配置信息如上所示,后臺(tái)通過下面的這個(gè)函數(shù)會(huì)得到一個(gè)Url,結(jié)果類似于/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: "" 可有可無(wú)參數(shù)
    // state: "" 可有可無(wú)參數(shù) 可以自己任意填寫
})

(2)通過該Url,可以到達(dá)三方登錄界面,用戶在三方登陸成功時(shí),上面的redirect_uri就會(huì)被回調(diào),同時(shí)會(huì)附帶一個(gè)code在redirect_uri上,該code由三方登錄服務(wù)器提供,該code與客戶端Id和redirect_uri是一一對(duì)應(yīng)的關(guān)系,回調(diào)的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得到之后,就預(yù)示著三方登錄已經(jīng)登錄成功。接下來(lái)就是自己系統(tǒng)的處理了。

至此,三方登錄已經(jīng)成功登錄。

寫的可能不盡如人意,我也是學(xué)習(xí)者,寫的目的也是為了讓自己對(duì)oAuth2登錄加深印象,如果錯(cuò)誤,歡迎指正,一起進(jìn)步啊。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89233.html

相關(guān)文章

  • 說說微信掃碼登錄

    摘要:詳情接口我們這里主要講的是網(wǎng)站應(yīng)用,網(wǎng)站應(yīng)用微信登錄是基于協(xié)議標(biāo)準(zhǔn)構(gòu)建的微信授權(quán)登錄系統(tǒng)即上面的協(xié)議。在微信客戶端授權(quán)登錄獲取用戶信息的可以查看。微信授權(quán)登錄目前支持模式,適用于擁有端的應(yīng)用授權(quán)。 一、OAuth2.0 OAuth(開放授權(quán))是一個(gè)開放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源(如照片,視頻,聯(lián)系人列表),而無(wú)需將用戶名和密碼提供給第三方應(yīng)用。 ...

    Jokcy 評(píng)論0 收藏0
  • Spring Security OAuth2 優(yōu)雅的集成短信驗(yàn)證碼登錄以及第三方登錄

    摘要:前言基于做微服務(wù)架構(gòu)分布式系統(tǒng)時(shí),作為認(rèn)證的業(yè)內(nèi)標(biāo)準(zhǔn),也提供了全套的解決方案來(lái)支持在環(huán)境下使用,提供了開箱即用的組件。 前言 基于SpringCloud做微服務(wù)架構(gòu)分布式系統(tǒng)時(shí),OAuth2.0作為認(rèn)證的業(yè)內(nèi)標(biāo)準(zhǔn),Spring Security OAuth2也提供了全套的解決方案來(lái)支持在Spring Cloud/Spring Boot環(huán)境下使用OAuth2.0,提供了開箱即用的組件。但...

    yck 評(píng)論0 收藏0
  • Vue.js 2.0 基于OAuth2.0的第三方登錄組件

    摘要:第三方登錄是現(xiàn)在常見的登錄方式,免注冊(cè)且安全方便快捷。大部分的第三方登錄都參考了的認(rèn)證方法。這里我主要總結(jié)一下第三方登錄組件的設(shè)計(jì)流程。身份認(rèn)證組件,需解耦,至少要喚起登錄和登出事件。認(rèn)證成功喚起登錄事件并將用戶信息傳遞出去。 第三方登錄是現(xiàn)在常見的登錄方式,免注冊(cè)且安全方便快捷。 本篇文章將以Github為例,介紹如何在自己的站點(diǎn)添加第三方登錄模塊。 OAuth2.0 OAuth(開...

    RancherLabs 評(píng)論0 收藏0
  • 登錄那些事兒

    摘要:假如是在同一個(gè)域名下,例如與,因?yàn)樵试S設(shè)置到二級(jí)域名下,所以和是可以共享的,用戶的信息可以通過可逆加密放在二級(jí)域名下的,并且設(shè)置,就可以一站登錄,站站登錄。 原文鏈接:BlueSun | 登錄那些事兒 也不知道是什么原因,剛開始不久的職業(yè)生涯,在技術(shù)這條路走著走著,和「登錄」總是有著一個(gè)不解之緣。還記得當(dāng)初學(xué)習(xí)Web編程的時(shí)候么?不管是Java、.Net、PHP,繼經(jīng)典「Hello W...

    layman 評(píng)論0 收藏0
  • 基于 Github API 的圖床 Chrome 插件開發(fā)全紀(jì)錄

    摘要:最近基于開發(fā)了一款圖床插件,現(xiàn)在已經(jīng)開源并上架應(yīng)用商店。通過方法把轉(zhuǎn)成,然后放在里測(cè)試一下看來(lái)效果是的,接下來(lái)就是對(duì)圖床插件進(jìn)行開發(fā)的步驟了。至此,整個(gè)插件的開發(fā)發(fā)布流程就已經(jīng)完成了。 showImg(https://user-images.githubusercontent.com/12172868/57382983-8f29b900-71e0-11e9-8fe9-c0f12fd54...

    DoINsiSt 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<