我有一个 javascript Electron 应用程序 ( https://github.com/damien122/cloudnoter ),它应该连接到 Microsoft 图形后端并提供对 OneNote 笔记本的访问。 以前它运行得很好,但是微软改变了API,我现在应该调整我的应用程序。 以前可以通过代码获取承载 token 而不使用客户端 key ,但现在我应该使用客户端 key 和我的问题:
是否建议将客户端 key 放入源代码中?并将其发布到 GitHub 上。人们可以使用客户端 ID 和客户端 key 做什么?我应该将客户 secret 真正“保密”吗?我可以向我的应用程序提供客户端 secret 并保密吗?
在 m.s. 的应用程序注册服务中我将该应用程序注册为网络应用程序,因为这是为我获得身份验证的唯一方法。我找不到在没有客户端密码的情况下对网络应用程序进行身份验证的方法。并且找不到如何使用 javascript 注册“Nativ/Mobile App”的方法。 顺便说一下,我使用这个文档 -> https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_user
最佳答案
对于资助流程,请按照@Event和@Marc的建议进行检查。
以及您的其他问题。
Is it recommended to put the client secret into the source code? And also publish it on GitHub.
否
What can someone can do with the client ID and client secret?
使用客户端 ID 和客户端 key ,某人可以调用您数据存储中的资源。但某些情况下我们还需要在请求中传递应用程序名称。
Should I keep the client-secret really "secret"?
是
Can I provide the client-secret to my app and keep it secret?
是。您可以使用Azure KeyValut 保护您的 secret 。或者只需关注以下博客:
Storing secrets in the environment
stripe_api_key = os.environ["STRIPE_API_KEY"]
Storing secrets in the database
Using a secrets syncing serviceStoring secrets in your code …but encrypted
关于javascript - 是否可以将 microsoft-graph 客户端 secret 放入源代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52428580/