簡體   English   中英

Azure Active Directory Spring 引導@AuthenticationPrincipal

[英]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 app-application.yml

應用程序構建執行:-

VS中的應用程序代碼

在瀏覽器中打開應用程序執行:-

在瀏覽器中打開應用程序 應用 Azure AD 登錄頁面 登錄 Azure AD 后的應用

因此,如您所見,它成功執行並成功運行 springboot java 應用程序。 但是,如果您希望“ID 令牌詳細信息”按鈕不存在並取而代之,您希望直接顯示 ID 令牌詳細信息,您可能希望使用以下可能的 HTML 類更改“href”按鈕 class和腳本擴展,以便登錄應用程序后的重定向將直接顯示“https://jwt.ms”頁面,它將捕獲令牌並相應地對其進行解碼,以顯示令牌持有的聲明。 請參閱以下鏈接以獲取更多詳細信息:-

如何創建一個類似於鏈接的 HTML 按鈕

  ' <form action="https://google.com">
     <input type="submit" value="Go to Google" />
      </form> '

應用程序的“.html”頁面中的上述修改應在 HTML 頁面中顯示所需的令牌詳細信息,而無需按鈕 class。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM