在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  網(wǎng)絡(luò)安全/ Spring Security Oauth2認證通過后如何回調(diào)將用戶信息存儲在數(shù)

Spring Security Oauth2認證通過后如何回調(diào)將用戶信息存儲在數(shù)據(jù)庫?

參考官方文檔教程,搭建了一個本地的小demo支持github形式的第三方登錄,現(xiàn)在想將Oauth形式的登錄和以前的用戶名密碼形式的登錄整合起來,也就是Oauth登錄之后回調(diào)某個方法拿到第三方token再根據(jù)api得到用戶的信息,然后為用戶在數(shù)據(jù)庫中存儲相關(guān)的信息。

在網(wǎng)上找了比較久的資料,無賴關(guān)于oauth2 client的學(xué)習(xí)資料太少,好像可以通過注入PrincipalExtractor這個bean來在Oauth2登錄之后進行回調(diào)。但是在本地測試了,GitHub Oauth2登錄成功之后并沒有在控制臺輸出test。

請問各位能提供一些思路么?

@Bean
public PrincipalExtractor principalExtractor() {
    System.out.println("test");
    return new PrincipalExtractor() {
        @Override
        public Object extractPrincipal(Map<String, Object> map) {
            String token = oauth2ClientContext.getAccessToken().getValue();
            // store the user info into database ...
        }
    };
}
回答
編輯回答
護她命

ssoFilter是你按官網(wǎng)例子寫的吧?
里面有個

UserInfoTokenServices tokenServices = new UserInfoTokenServices(client.getResource().getUserInfoUri(),client.getClient().getClientId());
下面的話你估計沒寫

    
tokenServices.setPrincipalExtractor(principalExtractor);

需要把你的PrincipalExtractor這個set進去

2017年12月30日 19:15