我正在构建一个使用OAuth的自定义Power BI数据连接器。 我正在遵循GitHub示例。 但是,这将客户端凭据(在OAuth中需要用于'code flow')存储为纯文本文件。 这是否有一种安全的替代方法?
很不幸,根据微软员工Curt Hagenlocher的说法,由于当前的“技术水平”,没有办法安全地保护这些凭据:引用: “无法在某人的桌面上保护秘密。这就是为什么一些OAuth提供商(如AAD)支持“本机应用程序”模式,其中有客户端ID但没有密码。在这个领域最新的发展是PKCE,我们计划在今年晚些时候提供示例代码。”“原则上,可以为服务使用单独提供密码 - 我希望有一天我们能做到这一点 - 但需要创建大量基础设施来支持这一点。”我建议加密模块本身,但Curt的回应是这也是无效的:引用: “所有人都只需要运行Fiddler,他们就可以看到发送到令牌终结点的确切密码。”完整对话: https://github.com/microsoft/DataConnectors/issues/298
.mez
文件 - 不仅仅是将其隐藏在.gitignore
中? - sgdataclient_id
设为静态代码,因为它不是那么“必要”,然后使用身份验证方法Key
来保存用户凭据中的client_secret
。但这取决于你是否需要同时进行用户登录。 - sgdata