SkillValidation 類別

  • java.lang.Object
    • com.microsoft.bot.connector.authentication.SkillValidation

public final class SkillValidation

驗證從技能來回傳送的 JWT 令牌。

方法摘要

修飾詞與類型 方法與描述
static java.util.concurrent.CompletableFuture<ClaimsIdentity> authenticateChannelToken(String authHeader, CredentialProvider credentials, ChannelProvider channelProvider, String channelId, AuthenticationConfiguration authConfig)

驗證傳入的驗證標頭是從 Bot 傳送至技能或從技能傳送至 Bot 的令牌。

static ClaimsIdentity createAnonymousSkillClaim()

建立匿名(未驗證)技能的宣告身分識別。

static java.lang.Boolean isSkillClaim(Map<String,String> claims)

檢查指定的宣告清單是否代表技能。

static boolean isSkillToken(String authHeader)

判斷指定的驗證標頭是否從技能到 Bot 或 Bot 到技能要求。

static java.util.concurrent.CompletableFuture<java.lang.Void> validateIdentity(ClaimsIdentity identity, CredentialProvider credentials)

協助程序驗證技能宣告身分識別。

方法繼承來源 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

方法詳細資料

authenticateChannelToken

public static CompletableFuture authenticateChannelToken(String authHeader, CredentialProvider credentials, ChannelProvider channelProvider, String channelId, AuthenticationConfiguration authConfig)

驗證傳入的驗證標頭是從 Bot 傳送至技能或從技能傳送至 Bot 的令牌。

參數:

authHeader - 格式為“Bearer [longString]” 的原始 HTTP 標頭。
credentials - 使用者定義的有效認證集,例如 AppId。
channelProvider - channelService 值,可區分公用 Azure 與美國政府 Azure。
channelId - 要驗證之通道的標識碼。
authConfig - 驗證組態。

傳回:

如果驗證成功,則為 ClaimsIdentity 實例。

createAnonymousSkillClaim

public static ClaimsIdentity createAnonymousSkillClaim()

建立匿名(未經驗證)技能的 ClaimsIdentity。

傳回:

將驗證類型設定為 AuthenticationConstants.AnonymousAuthType 和保留的 AuthenticationConstants.AnonymousSkillAppId 宣告的 ClaimsIdentity 實例。

isSkillClaim

public static Boolean isSkillClaim(Map claims)

檢查指定的宣告清單是否代表技能。 技能宣告應包含:VERSION_CLAIM 宣告。 AuthenticationConstants.AUTIENCE_CLAIM 宣告。 APPID_CLAIM 宣告 (v1) 或 AUTHORIZED_PARTY 宣告 (v2)。 而 appId 宣告應該與物件宣告不同。 當頻道 (webchat、teams 等) 叫用 Bot 時,AuthenticationConstants.AUTIENCE_CLAIM 會設定為 TO_BOT_FROM_CHANNEL_TOKEN_ISSUER,但當 Bot 呼叫另一個 Bot 時,物件宣告會設定為所叫用 Bot 的 appId。 通訊協議支援 v1 和 v2 令牌:對於 v1 令牌,APPID_CLAIM 存在,並設定為呼叫 Bot 的應用程式識別符。 針對 v2 令牌,AUTHORIZED_PARTY 存在,並設定為呼叫 Bot 的應用程式識別碼。

參數:

claims - 宣告清單。

傳回:

如果宣告清單是技能宣告,則為 True,如果不是,則為 false。

isSkillToken

public static boolean isSkillToken(String authHeader)

判斷指定的驗證標頭是否從技能到 Bot 或 Bot 到技能要求。

參數:

authHeader - 持有人令牌,格式為 “Bearer [Long String]”。

傳回:

如果令牌已針對 Bot 通訊的技能發出,則為 True。 否則為 false。

validateIdentity

public static CompletableFuture validateIdentity(ClaimsIdentity identity, CredentialProvider credentials)

協助程序驗證技能 ClaimsIdentity。

參數:

identity - 要驗證的 ClaimsIdentity。
credentials - CredentialProvider。

傳回:

如果成功,則無任何項目,否則為 CompletionException

適用於