第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Spring Security 5 OAuth2 客戶端和 RestTemplate

如何使用 Spring Security 5 OAuth2 客戶端和 RestTemplate

一只萌萌小番薯 2021-10-13 17:18:27
Spring Security 5.1.0.M2(發(fā)行說明)添加了使用時(shí)自動刷新令牌的支持WebClient。但是,我正在使用RestTemplate. 是否有類似的機(jī)制RestTemplate或我是否需要自己實(shí)現(xiàn)該行為?本OAuth2RestTemplate類看起來很有希望,但它從單獨(dú)的Spring Security的OAuth模塊的,我想如果可能使用普通的Spring Security 5.1的客戶端上。
查看完整描述

2 回答

?
開滿天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個贊

OAuth2RestTemplate將自動刷新令牌。RestTemplate不會(刷新令牌是 OAuth2 規(guī)范的一部分,因此 OAuth2RestTemplate.

您有 2 個選擇:

  1. 使用 Spring Security OAuth2 模塊,一切都會開箱即用(Spring 提供的配置屬性)

  2. 基于 Spring 的 OAuth2RestTemplate 創(chuàng)建你自己的 RestTemplate

Spring 的 OAuth2 模塊將來會集成到 Spring Security 中。我會選擇選項(xiàng) 1。


查看完整回答
反對 回復(fù) 2021-10-13
?
慕桂英4014372

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個贊

OAuth2RestTemplate應(yīng)該在RestTemplate需要 JWT 身份驗(yàn)證時(shí)使用,而不是使用。您可以設(shè)置AccessTokenProvider為它,它將告訴如何檢索 JWT 令牌:oAuth2RestTemplate.setAccessTokenProvider(new MyAccessTokenProvider());


在類實(shí)現(xiàn)中,AccessTokenProvider您需要實(shí)現(xiàn)obtainAccessToken和refreshAccessToken方法。所以在obtainAccessToken方法中可以檢查令牌是否過期,如果是 - 令牌通過refreshAccessToken. 示例實(shí)現(xiàn)(沒有實(shí)際令牌檢索和刷新的細(xì)節(jié)):


public class MyAccessTokenProvider implements AccessTokenProvider {


    @Override

    public OAuth2AccessToken obtainAccessToken(OAuth2ProtectedResourceDetails details, AccessTokenRequest parameters)

        throws UserRedirectRequiredException, UserApprovalRequiredException, AccessDeniedException {

        if (parameters.getExistingToken() != null && parameters.getExistingToken().isExpired()) {

            return refreshAccessToken(details, parameters.getExistingToken().getRefreshToken(), parameters);

        }


        OAuth2AccessToken retrievedAccessToken = null;

        //TODO access token retrieval

        return retrievedAccessToken;

    }


    @Override

    public boolean supportsResource(OAuth2ProtectedResourceDetails resource) {

        return false;

    }


    @Override

    public OAuth2AccessToken refreshAccessToken(OAuth2ProtectedResourceDetails resource,

                                                OAuth2RefreshToken refreshToken, AccessTokenRequest request)

        throws UserRedirectRequiredException {


        OAuth2AccessToken refreshedAccessToken = null;

        //TODO refresh access token

        return refreshedAccessToken;

    }


    @Override

    public boolean supportsRefresh(OAuth2ProtectedResourceDetails resource) {

        return true;

    }

}

沒有找到 SpringrefreshAccessToken自動調(diào)用的方法,如果有人知道如何做到這一點(diǎn) - 請分享。


查看完整回答
反對 回復(fù) 2021-10-13
  • 2 回答
  • 0 關(guān)注
  • 387 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號