Как вы реализуете OAuth 2.0 в приложении с открытым исходным кодом - PullRequest
0 голосов
/ 10 апреля 2020

Я работаю над приложением C# с открытым исходным кодом, которому необходим доступ к аккаунтам YouTube. Я смотрю на https://developers-dot-devsite-v2-prod.appspot.com/youtube/v3/code_samples/dotnet#retrieve_my_uploads, но меня смущает то, что код ссылается на client_secrets.json. Где я должен это взять? Я видел документацию по API, где вы должны избегать раскрытия секретов. Поэтому я не могу вставить их в свой код.

К сожалению, у моего проекта нет денег на сервер. Поэтому я не могу спрятать их там. Но даже если бы я мог, мой код просто не говорил бы всем, как получить секреты от моего сервера?

1 Ответ

1 голос
/ 10 апреля 2020

client_secrets. json. Где мне взять это?

Вы можете использовать вкладку учетных данных консоли разработчика. Идентификаторы клиентов будут перечислены там (если они уже созданы) или создайте новый, как показано ниже. Затем вы можете скачать его (файл client_secrets. json). enter image description here

Я видел документацию API, где вы должны избегать раскрытия секретов

Вы не должны раскрывать конфиденциальную информацию, поскольку она обладает высокий риск безопасности. Поскольку неясно, как вы собираетесь его реализовать, обычно вы не можете защитить свои секреты, если внедрили их в свое приложение. В случае взлома злоумышленник может выдать себя за вашего клиента.

OAuth набросок various authorization flows, который может быть принят в соответствии с вашими потребностями. Например, ваши вопросы предполагают, что вы используете поток кода OAuth , и именно здесь секреты клиента входят в картину. Однако есть и другие потоки, один из которых - OAuth-неявный поток , который не требует ввода учетных данных клиента. В Implicit flow секрет клиента отсутствует, и как только пользователь проходит аутентификацию у поставщика OAuth2, клиент получит маркер доступа для продолжения. Вы можете прочитать больше о Implicit Flow оригинальной спецификации c.

Я думаю, вы должны проявить себя в topi c и затем следовать предложенному стилю реализации при сохранении типа клиента в качестве координационного центра.

Примечание. URL-адреса, на которые ссылаются потоки, предназначены ТОЛЬКО для руководства по теме; и должны быть исследованы дальше для лучшего понимания.

...