您如何在开源应用程序中实现OAuth 2.0

问题描述 投票:0回答:1

我正在开发需要访问YouTube帐户的开源C#应用程序。我一直在看https://developers-dot-devsite-v2-prod.appspot.com/youtube/v3/code_samples/dotnet#retrieve_my_uploads,但是对于代码引用client_secrets.json的部分感到困惑。我应该在哪里得到的?我看过API文档,应该避免泄露这些秘密。所以我不能将它们放入我的代码中。

[不幸的是,我的项目对于服务器来说没有钱。所以我不能把它们藏在那里。但是,即使可以,我的代码也不会告诉所有人如何从服务器中获取机密吗?

c# .net youtube-api youtube-data-api
1个回答
0
投票

client_secrets.json。我应该在哪里得到的?

您可以使用开发者控制台的凭据标签。客户端ID将在此处列出(如果已生成)或创建一个新的ID,如下所示。然后可以下载它(client_secrets.json文件)。enter image description here

我看过API文档,应该避免在此披露机密

您不得公开敏感信息,因为它具有很高的安全风险。通常,由于尚不清楚如何实现它,因此,如果将其嵌入到应用程序中,则无法保护您的秘密。如果遭到破坏,攻击者可以冒充您的客户端。

OAuth轮廓various authorization flows,可以根据需要采用。例如,您的问题表明您正在使用OAuth code flow,而这正是显示客户机密的地方。但是,还有其他流程,其中之一是OAuth Implicit flow,不需要您提供客户端凭据。在Implicit flow中,没有客户端机密,一旦用户通过OAuth2提供程序进行身份验证,客户端就会收到访问令牌以继续进行操作。您可以阅读有关Implicit Flow原始规格的更多信息。

[我认为,您应该使自己对该主题有所了解,然后按照建议的implementation style进行操作,同时保持type of client为重点。

注意:流中引用的URL仅用于指导您进行主题学习;并且必须进一步研究以更好地理解。

© www.soinside.com 2019 - 2024. All rights reserved.