[英]Azure active directory with spring boot Oaut2UserService Problem
[英]Azure Active Directory Spring Boot @AuthenticationPrincipal
遵循此示例: https://github.com/Azure-Samples/ms-identity-java-spring-tutorial/tree/main/1-Authentication/sign-in
要提取令牌詳細信息,我們需要在請求映射中使用 AuthenticationPrincipal 和 OidcUser object。 請參閱示例 Controller,了解此應用程序使用 ID 令牌聲明的示例。
import org.springframework.security.oauth2.core.oidc.user.OidcUser;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
//...
@GetMapping(path = "/some_path")
public String tokenDetails(@AuthenticationPrincipal OidcUser principal) {
Map<String, Object> claims = principal.getIdToken().getClaims();
}
在示例中,有一個按鈕“Id Token Details”調用“/some_path”屏幕
如何在不調用按鈕的情況下做到這一點? 有沒有辦法在幕后做到這一點?
任何幫助將不勝感激
• 我嘗試按照您在問題中提到的 github 文檔鏈接,並成功創建了應用程序,如下圖所示:-
Application.yml 文件:-
應用程序構建執行:-
在瀏覽器中打開應用程序執行:-
因此,如您所見,它成功執行並成功運行 springboot java 應用程序。 但是,如果您希望“ID 令牌詳細信息”按鈕不存在並取而代之,您希望直接顯示 ID 令牌詳細信息,您可能希望使用以下可能的 HTML 類更改“href”按鈕 class和腳本擴展,以便登錄應用程序后的重定向將直接顯示“https://jwt.ms”頁面,它將捕獲令牌並相應地對其進行解碼,以顯示令牌持有的聲明。 請參閱以下鏈接以獲取更多詳細信息:-
' <form action="https://google.com">
<input type="submit" value="Go to Google" />
</form> '
應用程序的“.html”頁面中的上述修改應在 HTML 頁面中顯示所需的令牌詳細信息,而無需按鈕 class。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.