handleTeamsSigninVerifyState 在团队调用但响应为 501 时受到攻击
handleTeamsSigninVerifyState getting hit when teams calls but response is 501
包:"botbuilder":“^4.7.2”
我们扩展了 TeamsActivityHandler ..
class TeamsGithubBot 扩展了 TeamsActivityHandler
里面有
protected async handleTeamsSigninVerifyState(
context: TurnContext, query: SigninStateVerificationQuery,
): Promise<void>
{our code here}
当团队使用
调用我们的消息处理程序时
"name": "signin/verifyState",
"type": "invoke",
我可以 see/debug 我们的代码被命中,但对团队调用的响应是 501 Not Implemented
关于如何调试这个的任何指示?
请升级到最新的 botbuilder 软件包(截至 2020 年 6 月为 4.9.2)
当 signin/verifyState
调用到达机器人时,应该调用 adapter.getUserToken
来验证魔术代码。如果有效,机器人应该发送类型为 invokeResponse
的 activity 和带有 StatusCode.OK
的值 示例代码可以在 sdk 的 OAuthPrompt:
中找到
token = await this.getUserToken(dc, code);
if (token !== undefined) {
await dc.context.sendActivity({ type: 'invokeResponse', value: { status: 200 } });
} else {
await dc.context.sendActivity({ type: 'invokeResponse', value: { status: 404 } });
}
此invokeResponse 将写入请求正文。如果在回合完成后在 turnState 中找不到 invokeResponse,则抛出 NotImplemented 异常。
包:"botbuilder":“^4.7.2”
我们扩展了 TeamsActivityHandler ..
class TeamsGithubBot 扩展了 TeamsActivityHandler
里面有
protected async handleTeamsSigninVerifyState(
context: TurnContext, query: SigninStateVerificationQuery,
): Promise<void>
{our code here}
当团队使用
调用我们的消息处理程序时"name": "signin/verifyState",
"type": "invoke",
我可以 see/debug 我们的代码被命中,但对团队调用的响应是 501 Not Implemented
关于如何调试这个的任何指示?
请升级到最新的 botbuilder 软件包(截至 2020 年 6 月为 4.9.2)
当 signin/verifyState
调用到达机器人时,应该调用 adapter.getUserToken
来验证魔术代码。如果有效,机器人应该发送类型为 invokeResponse
的 activity 和带有 StatusCode.OK
的值 示例代码可以在 sdk 的 OAuthPrompt:
token = await this.getUserToken(dc, code);
if (token !== undefined) {
await dc.context.sendActivity({ type: 'invokeResponse', value: { status: 200 } });
} else {
await dc.context.sendActivity({ type: 'invokeResponse', value: { status: 404 } });
}
此invokeResponse 将写入请求正文。如果在回合完成后在 turnState 中找不到 invokeResponse,则抛出 NotImplemented 异常。