首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cortana技能认证

Cortana技能认证
EN

Stack Overflow用户
提问于 2018-03-15 04:42:44
回答 1查看 167关注 0票数 1

我已经在我的Cortana通道(Microsoft)中启用了连接的服务,并获得了BOT框架的令牌。现在,我希望使用已注册的客户端id和密钥从令牌中检索用户详细信息

BOT框架中的示例代码:

代码语言:javascript
复制
var authInfo = ((Activity)context.Activity).Entities.FirstOrDefault(e => e.Type.Equals("AuthorizationToken"));
            var token = authInfo.Properties["token"].ToString();

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2018-03-16 07:49:35

查看BotAuth。您可以选择提供程序来检索令牌:

代码语言:javascript
复制
const botauth = require("botauth");
const DropboxOAuth2Strategy = require("passport-dropbox-oauth2").Strategy;

...

 // Initialize with the strategies we want to use
var auth = new botauth.BotAuthenticator(server, bot, {
    secret : "something secret",
    baseUrl : "https://" + WEBSITE_HOSTNAME }
);

// Configure the Dropbox authentication provider using the passport-dropbox strategy
auth.provider("dropbox",
    function(options) {
        return new DropboxOAuth2Strategy(
            {
                    clientID : DROPBOX_APP_ID,
                    clientSecret : DROPBOX_APP_SECRET,
                    callbackURL : options.callbackURL
            },
            function(accessToken, refreshToken, profile, done) {
                profile.accessToken = accessToken;
                profile.refreshToken = refreshToken;
                done(null, profile);
            }
        );
    }
);

如果只想检索用户名和ID,可以从userData对象中获取:

代码语言:javascript
复制
UserInfo : { "Name": { "GivenName": "XYZ", "FamilyName": "ABC" }, "Id": "something@outlook.com" }

https://github.com/Microsoft/BotBuilder/issues/3242

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49287289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档