首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure / MSAL.js -包含tenantId安全吗?

Azure / MSAL.js -包含tenantId安全吗?
EN

Stack Overflow用户
提问于 2019-06-20 00:58:24
回答 1查看 3.5K关注 0票数 4

clientIdtenantId包含在msal.js实现中安全吗?我相信我读过Joonas说嵌入ClientId很好(我现在找不到帖子)。

图书馆里有个放它的地方,所以似乎没问题:

代码语言:javascript
复制
this.msal = new UserAgentApplication(
                {
                    auth: {
                        clientId: this.clientId,
                        authority: `https://login.microsoftonline.com/${this.tenantId}`,
                        redirectUri: Uri + "/login",
                    },

然而,人们会认为这样的识别信息是保密的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-20 02:07:13

简短的回答:,包含clientIdtenantId是安全的。

您的关注是有道理的,因为对于基于JavaScript的应用程序(如SPA),您要输入的任何信息都可能暴露给用户,并且可能被滥用。虽然tenantIdclientId不是这样的信息,但是client secretkeys将是敏感的,需要避免。

tenantId作为租户OpenID发现文档的一部分是公开的。您可以使用此格式的URL访问它。

代码语言:javascript
复制
https://login.microsoftonline.com/{tenantID or tenantDomain}/v2.0/.well-known/openid-configuration

clientId是应用程序注册的标识符。来回答你对包括它的担忧。clientId本身并不能建立应用程序的身份,您还需要同时拥有client secret,才能使用应用程序的标识。

因此,从安全的角度来看,任何公共客户端应用程序(比如基于JavaScript的SPA,甚至是桌面本地应用程序)都不应该使用客户端机密,因为这些应用程序不能安全地保护它,而且它可能会受到危害。机密只能由机密客户端处理,如基于服务器的web应用程序或后端守护进程。

下面是Microsoft对隐式授权流的指导,这通常是JavaScript/SPA应用程序- Microsoft identity platform and Implicit grant flow所使用的流。

下面是一个类似的关于clientidtenantId的帖子,并给出了很好的解释-- Are the Azure Client Id, Tenant, and Key Vault URI considered secrets?

我无法很快找到你提到的Joonas的帖子,但是Joona关于clientId的建议和往常一样是正确的。

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

https://stackoverflow.com/questions/56677676

复制
相关文章

相似问题

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