如何在不使用turncontext的情况下获取特定用户标识和连接名的令牌

问题描述 投票:-1回答:1

我正在后台任务中做一些工作,并且有我可用的用户ID(是从activity.from.id中提取的)和连接名。

如何从漫游器服务获取用户令牌? -turncontext不可用。

c# azure oauth botframework azure-bot-service
1个回答
0
投票

[请记住,必须对Bot Framework REST API调用进行授权,因此,除了用户ID和连接名称之外,您还需要机器人的应用程序凭据。如果拥有所有这些,则可以获取如下用户令牌:

private async Task<string> GetUserTokenAsync(string userId, string connectionName, AppCredentials appCredentials)
{
    var client = new OAuthClient(new Uri(OAuthClientConfig.OAuthEndpoint), appCredentials);
    var response = await client.UserToken.GetTokenAsync(userId, connectionName);

    return response.Token;
}

这是从BotFrameworkAdapter.cs中可以找到的代码中提取的,但已修改为不需要转弯上下文。

© www.soinside.com 2019 - 2024. All rights reserved.