如何将我需要的作用域传递到microsoftTeams.authation.authate()方法中 [英] How to pass the scopes I need in the microsoftTeams.authentication.authenticate() method
本文介绍了如何将我需要的作用域传递到microsoftTeams.authation.authate()方法中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在使用vscode Teams工具包创建了Teams-Tab-app之后,我看到在默认的auth-start.html文件中,脚本尝试从URL(由microsoftTeams.authation.authate()方法构造)提取作用域,但是我在文档中没有看到任何关于如何在该方法中传递这些作用域的引用。
有人知道如何传递这些作用域吗?
推荐答案
在查看工具包时,我自己也想知道这一点,但我还没有在任何生产系统中使用过它,所以从来没有费心去深入研究。我确实在useTeamsFx.tsx
中看到它正在执行到startLoginPageUrl
的重定向,因此您可能需要将REACT_APP_START_LOGIN_PAGE_URL
设置为指向auth-start.html
的路径,这样您就可以将其设置为也包括一个查询字符串。它需要应用程序ID,所以您也需要设置该ID,但是useTeamsFx也需要您设置的REACT_APP_CLIENT_ID
。因此,将您想要的作用域存储在代码或环境变量中,然后组合发送给initiateLoginEndpoint
的值可能是有意义的。基本上,不是
var startLoginPageUrl = process.env.REACT_APP_START_LOGIN_PAGE_URL;
...
initiateLoginEndpoint: startLoginPageUrl
...
您可以改成
var startLoginPageUrl = process.env.REACT_APP_START_LOGIN_PAGE_URL;
var scopes = process.env.REACT_APP_SCOPES; // <-- this is added
...
initiateLoginEndpoint: `${startLoginPageUrl}?clientId=${clientId}&scope=${scopes}`
...
但这是未经测试的,因此不能保证。
在另一个但相关的注释中,在我的样例项目中,在auth-start中,它引用了MicrosoftTeams.min.js的一个非常旧的版本(v1.6,当前是1.11)。我可能只有一个非常旧的团队工具包,但可能没有...这篇关于如何将我需要的作用域传递到microsoftTeams.authation.authate()方法中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文