2013-06-17 2 views
0

Я использую библиотеку Facebook Spring Social.Является ли Весенний социальный танец OAuth с Facebook безопасным?

Является ли танец OAuth между Социальной библиотекой Весны и Facebook при подключении надежного (против человека в средних атаках и т. Д.)? Если нет, что мне нужно сделать, чтобы защитить его?

Причина, по которой я немного обеспокоен, заключается в том, что в Spring docs упоминается, что Facebook использует OAuth 2, и я считаю, что OAuth 2 был упрощен, где он полагался на HTTPS для обеспечения танца OAuth.

P.S. мое веб-приложение работает по HTTP

+0

Я считаю, что ваш вопрос более метко сформулирован в общем смысле: «Безопасен ли OAuth2?» Это связано с некоторыми дебатами. Но если вам нужно интегрироваться с Facebook, это вариант, который представил Facebook; поэтому вы либо используете OAuth2, либо не интегрируетесь с Facebook. –

+0

Из того, что я прочитал, OAuth 2 через HTTP не является безопасным. Он полагается на танец, выполняемый над HTTPS за его безопасность. По сути, это то, что я пытаюсь понять, независимо от того, позаботилась ли Spring Social library о танцах по HTTPS, если хотите. –

ответ

3

Да, Spring Social поддерживает OAuth2 по HTTPS при работе с Facebook, как в своих API-интерфейсах, так и в танцах OAuth2. Обратите внимание на URL-адреса в https://github.com/SpringSource/spring-social-facebook/blob/master/spring-social-facebook/src/main/java/org/springframework/social/facebook/connect/FacebookOAuth2Template.java как на доказательство Spring Social, используя HTTPS при выполнении танца OAuth2.

Если это не так, то это будет не только плохая идея безопасности, но и просто не сработает. Facebook не позволяет вам работать с его API, когда используются токены доступа, если это не связано с HTTPS. Вы получите сообщение об ошибке, если попытаетесь передать токен доступа на любую конечную точку API (даже если она небезопасна и даже если токен доступа фиктивный) через HTTP. Например, укажите ваш браузер на http://graph.facebook.com/gopivotal?access_token=fasddasf, и вы получите сообщение об ошибке.

Так что, Spring Social поддерживает HTTPS при работе с Facebook. Если бы это не так, это не сработало бы вообще.

+0

Удивительный ответ - спасибо Крейг –

0

Мы используем его (большой проект) широко. мы рассмотрели несколько способов обработки этой функции и, наконец, пришли к выводу, что достаточно безопасно идти с весной.

Фактически, эта часть нашей системы была написана на JavaScript, работающей на NodeJS, и мы преобразовали ее в Java, потому что мы чувствовали себя более уверенно в реализации Spring.

также, я думаю, что часть упрощения, о котором они говорят, при сравнении OAuth 1/2 - это танец. меньше круговых переходов.

+0

Итак, вы, ребята, изучали, защищен ли танец библиотеки OAuth с Facebook защитой от атак? И ваше приложение также работает на HTTP? –

+0

есть. ребята из команды безопасности утвердили ее использование в качестве клиента (!), запускающего сервер OAuth, это не то, что они охватывали, и я не могу рекомендовать. я должен спросить, вы нашли что-то, что вас беспокоит? я спрашиваю, потому что событие подумало, что я им доверяю (очень много), я также ценю другие мнения. – pl47ypus

+0

Естественно, мне было бы интересно узнать, есть ли проблемы с «танец» Spring Social с Facebook. Если есть, я надеюсь, что вы будете работать со мной (через отслеживание проблем на https://jira.springsource.org/browse/SOCIALFB), чтобы разобраться с этим. FWIW, Spring Social 1.1.0.M3 теперь поддерживает параметр «состояние» в танце OAuth 2 для защиты от атак CSRF. –

Смежные вопросы