SkillValidation 类

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

public final class SkillValidation

验证发送到技能的 JWT 令牌和从技能发送的 JWT 令牌。

方法摘要

修饰符和类型 方法和描述
static java.util.concurrent.CompletableFuture<ClaimsIdentity> authenticateChannelToken(String authHeader, CredentialProvider credentials, ChannelProvider channelProvider, String channelId, AuthenticationConfiguration authConfig)

验证传入的身份验证标头是从机器人发送到技能或从技能发送到机器人的令牌。

static ClaimsIdentity createAnonymousSkillClaim()

为匿名(未经身份验证)技能创建声明标识。

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

检查给定的声明列表是否表示技能。

static boolean isSkillToken(String authHeader)

确定给定的身份验证标头是否从技能到机器人或机器人到技能请求。

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)

验证传入的身份验证标头是从机器人发送到技能或从技能发送到机器人的令牌。

参数:

authHeader - 格式为“Bearer [longString]”的原始 HTTP 标头。
credentials - 用户定义的有效凭据集,例如 AppId。
channelProvider - 将公共 Azure 与美国政府 Azure 区分开来的 channelService 值。
channelId - 要验证的通道的 ID。
authConfig - 身份验证配置。

返回:

如果验证成功,则 ClaimsIdentity 实例。

createAnonymousSkillClaim

public static ClaimsIdentity createAnonymousSkillClaim()

为匿名(未经身份验证)技能创建 ClaimsIdentity。

返回:

一个 ClaimsIdentity 实例,其身份验证类型设置为 AuthenticationConstants.AnonymousAuthType 和保留的 AuthenticationConstants.AnonymousSkillAppId 声明。

isSkillClaim

public static Boolean isSkillClaim(Map claims)

检查给定的声明列表是否表示技能。 技能声明应包含:VERSION_CLAIM 声明。 AuthenticationConstants.AUTIENCE_CLAIM 声明。 APPID_CLAIM 声明(v1)或 AUTHORIZED_PARTY 声明(v2)。 appId 声明应不同于受众声明。 当频道(webchat、teams 等)调用机器人时,AuthenticationConstants.AUTIENCE_CLAIM 将设置为 TO_BOT_FROM_CHANNEL_TOKEN_ISSUER 但当机器人调用另一个机器人时,受众声明将设置为正在调用的机器人的 appId。 协议支持 v1 和 v2 令牌:对于 v1 令牌,APPID_CLAIM 存在并设置为调用机器人的应用 ID。 对于 v2 令牌,AUTHORIZED_PARTY 存在并设置为调用机器人的应用 ID。

参数:

claims - 声明列表。

返回:

如此 如果声明列表是技能声明,则为 false(如果不是)。

isSkillToken

public static boolean isSkillToken(String authHeader)

确定给定的身份验证标头是否从技能到机器人或机器人到技能请求。

参数:

authHeader - 持有者令牌,采用“持有者[长字符串]”格式。

返回:

如此,如果令牌是针对机器人通信的技能颁发的。 否则为 false。

validateIdentity

public static CompletableFuture validateIdentity(ClaimsIdentity identity, CredentialProvider credentials)

帮助程序验证技能 ClaimsIdentity。

参数:

identity - 要验证的 ClaimsIdentity。
credentials - CredentialProvider。

返回:

如果成功,则无任何内容,否则为 CompletionException

适用于