Azure 应用程序客户端 ID 在前端存储安全吗?

5
在微软网站上,他们提供了多个示例展示如何使用msal在SPA中对用户进行身份验证连接到Azure AD。在所有这些示例中,Application (client) ID都是以明文形式存储在代码或简单的.json文件中。
我的问题是,考虑到在前端存储的所有内容都被视为公开的,是否将应用程序配置(例如Azure (client) ID)仅存储在json文件中不好?还是将其存储在.env文件中更好?
以下是应用程序需要的详细信息:
AZURE_APP_CLIENT_ID=""
AZURE_APP_AUTHORITY=""
AZURE_APP_REDIRECT_URI=""
AZURE_APP_POST_LOGOUT_REDIRECT_URI=""

API_URI=""
API_AZURE_EXPOSED_SCOPE=""
1个回答

11

好的,OAuth RFC将客户端标识符定义为非机密信息: https://www.rfc-editor.org/rfc/rfc6749#section-2.2

客户端标识符不是机密信息;它向资源所有者公开,不能单独用于客户端身份验证。

当用户登录时,客户端ID将在URL中显示。在前端存储它是完全可以的。

以下所有内容都会在用户登录时在URL中显示:

  • Azure AD租户ID
  • 应用程序客户端ID
  • 应用程序请求的范围(可能包括AAD中API的客户端ID/应用程序ID URI)
  • 应用程序重定向URI

谢谢提供信息。这样就简单了,只需要一个.json文件就可以了。非常感谢。 - DarkLite1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接