日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oauth2令牌刷新_了解OAuth2令牌认证

發(fā)布時(shí)間:2023/12/3 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oauth2令牌刷新_了解OAuth2令牌认证 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

oauth2令牌刷新

1.簡(jiǎn)介

在本教程中,我們將了解OAuth2令牌身份驗(yàn)證 ,以便只有經(jīng)過(guò)身份驗(yàn)證的用戶和應(yīng)用程序才能獲得有效的訪問(wèn)令牌,該令牌隨后可用于訪問(wèn)服務(wù)器上的授權(quán)API(在OAuth術(shù)語(yǔ)中僅是受保護(hù)的資源)。

使用基于令牌的身份驗(yàn)證,通過(guò)與服務(wù)器的每次交互共享有效的訪問(wèn)令牌,用戶/應(yīng)用程序可以在特定時(shí)間段內(nèi)訪問(wèn)受保護(hù)的資源。

2.令牌認(rèn)證中涉及的事件

使用令牌身份驗(yàn)證,所涉及的事件已在下圖中清晰地描述了–

  • 客戶端應(yīng)用程序首先從用戶(資源所有者)請(qǐng)求授權(quán)授權(quán),因?yàn)槲覀兘?jīng)常會(huì)看到彈出授權(quán)或拒絕訪問(wèn)其他應(yīng)用程序數(shù)據(jù)的授權(quán)彈出窗口。 例如,Goibibo要求從您的Facebook帳戶訪問(wèn)朋友。
  • 一旦用戶通過(guò)在彈出窗口中單擊“授權(quán)”進(jìn)行授權(quán) ,客戶端應(yīng)用程序(Goibibo)就會(huì)收到授權(quán)授權(quán)。
  • 然后,客戶端應(yīng)用程序(Goibibo)向授權(quán)服務(wù)器(Facebook)請(qǐng)求訪問(wèn)令牌以及其自身的身份和在上一步中收到的授權(quán)授權(quán)。
  • 如果客戶端應(yīng)用程序已通過(guò)身份驗(yàn)證,并且發(fā)現(xiàn)授權(quán)授予有效,那么授權(quán)服務(wù)器(由Facebook)將向客戶端應(yīng)用程序(Goibibo)提供/發(fā)出訪問(wèn)令牌。
  • 然后,客戶端應(yīng)用程序(Goibibo)通過(guò)隨后將訪問(wèn)令牌傳遞給資源服務(wù)器(由Facebook)來(lái)訪問(wèn)受保護(hù)的資源(來(lái)自Facebook應(yīng)用程序的朋友),直到令牌在指定的時(shí)間段后過(guò)期。
  • 3. OAuth2角色

    以下列出了OAuth實(shí)現(xiàn)中的委托角色–

  • 資源所有者 –能夠授予對(duì)受保護(hù)資源訪問(wèn)權(quán)限的實(shí)體。 如果您登錄Goibibo,并且希望通過(guò)您的Facebook帳戶訪問(wèn)朋友,則您是資源所有者,需要提供授權(quán)授權(quán)。
  • 資源服務(wù)器 –托管受保護(hù)資源的服務(wù)器(Facebook),可以使用訪問(wèn)令牌接受和響應(yīng)受保護(hù)資源的請(qǐng)求。 這意味著好友列表是服務(wù)器(Facebook)上托管的資源之一,可供其他第三方應(yīng)用程序(Goibibo)訪問(wèn)。
  • 客戶端 –代表資源所有者(用戶)并獲得其授權(quán)的受保護(hù)資源請(qǐng)求的應(yīng)用程序(Goibibo)。 我們將所有此類授權(quán)授予定義為上下文–
  • 這意味著Gobibo作為客戶端應(yīng)用程序可以訪問(wèn)資源服務(wù)器(Facebook)上的管理好友列表。
  • 授權(quán)服務(wù)器 –根據(jù)資源擁有者(用戶)接收到的客戶端應(yīng)用程序的身份和授權(quán)授予向客戶端應(yīng)用程序提供訪問(wèn)令牌的服務(wù)器
  • 4.授權(quán)補(bǔ)助

    OAuth2提供四種類型的授權(quán)授予-

    4.1授權(quán)碼

    • 在服務(wù)器端應(yīng)用程序中使用,因此維護(hù)了雙方的隱私。
    • 最常見(jiàn)的。
    • 基于重定向的流。
    • 用戶授權(quán)請(qǐng)求通過(guò)用戶代理(Web瀏覽器)路由,并且客戶端應(yīng)用程序必須具有足夠的能力與用戶代理進(jìn)行交互,并從另一端的授權(quán)服務(wù)器接收授權(quán)代碼。

    4.2隱式

    • 有點(diǎn)類似于授權(quán)碼授予類型。
    • 更常用于移動(dòng)應(yīng)用程序和Web應(yīng)用程序。
    • 在客戶端,由于授權(quán)代碼在移交給客戶端應(yīng)用程序之前與用戶代理一起存儲(chǔ)在本地,因此存在隱私風(fēng)險(xiǎn)。 這可以公開(kāi)給用戶設(shè)備上的其他應(yīng)用程序。
    • 不支持刷新令牌。

    4.3資源所有者密碼憑證

    • 在受信任的應(yīng)用程序之間使用。
    • 用戶(資源所有者)直接與客戶端應(yīng)用程序共享憑據(jù),客戶端應(yīng)用程序在成功驗(yàn)證用戶憑據(jù)并進(jìn)一步授權(quán)用戶訪問(wèn)服務(wù)器上的有限資源后,請(qǐng)求授權(quán)服務(wù)器返回訪問(wèn)令牌。
    • 這是我們將用于演示應(yīng)用程序的授權(quán)授予類型。

    4.4客戶憑證

    • 當(dāng)應(yīng)用程序需要訪問(wèn)其自己的服務(wù)帳戶段時(shí)使用,只有在該服務(wù)帳戶段的控制下它才能獲取資源。
    • 因此,同一應(yīng)用程序可能還有其他受信任的機(jī)密客戶端,它們擁有自己的應(yīng)用程序個(gè)人服務(wù)帳戶,并且可能在其控制下?lián)碛胁煌氖鼙Wo(hù)資源。
    • 應(yīng)用程序通過(guò)將其憑據(jù),客戶端ID和客戶端密鑰發(fā)送到授權(quán)服務(wù)器來(lái)請(qǐng)求訪問(wèn)令牌。

    5.令牌存儲(chǔ)

    涉及的另一個(gè)重要組件是令牌存儲(chǔ),它定義了如何存儲(chǔ)生成的令牌。 默認(rèn)存儲(chǔ)區(qū)是內(nèi)存中的實(shí)現(xiàn) ,但是也可以使用其他一些實(shí)現(xiàn),可以根據(jù)需要使用它們–

  • InMemoryTokenStore –令牌存儲(chǔ)在服務(wù)器內(nèi)存中,因此存在授權(quán)服務(wù)器重新啟動(dòng)時(shí)丟失令牌的風(fēng)險(xiǎn)。
  • JwtTokenStore –所有授權(quán)和訪問(wèn)授權(quán)數(shù)據(jù)都編碼到令牌本身中,并且此類令牌不會(huì)在任何地方持久化。 此類令牌使用解碼器即時(shí)進(jìn)行驗(yàn)證,并且依賴于JwtAccessTokenConverter 。
  • JdbcTokenStore –令牌數(shù)據(jù)存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中。 使用此令牌存儲(chǔ),可以安全地重新啟動(dòng)授權(quán)服務(wù)器。 令牌也可以在服務(wù)器之間輕松共享,并且可以被吊銷。 注意,要使用JdbcTokenStore,我們將在類路徑中需要“ spring-jdbc”依賴項(xiàng)。
  • 6.刷新令牌流

    一旦訪問(wèn)令牌在設(shè)計(jì)的時(shí)間段(根據(jù)下面的示例為119)后過(guò)期,我們可以使用refresh token重新生成一個(gè)新的有效訪問(wèn)令牌 。 發(fā)出原始訪問(wèn)令牌時(shí)會(huì)附帶刷新令牌,如下所示–

    { "access_token":"04f12761-501b-415b-8941-52bce532ce60","token_type":"bearer","refresh_token":"fc348b4f-de62-4523-b808-9935b1f2e46f","expires_in":119 }

    單擊此處導(dǎo)航到官方OAuth2文檔

    翻譯自: https://www.javacodegeeks.com/2017/09/understanding-oauth2-token-authentication.html

    oauth2令牌刷新

    總結(jié)

    以上是生活随笔為你收集整理的oauth2令牌刷新_了解OAuth2令牌认证的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。