2011-07-18 3 views
11

Я смотрю на щебет реализации OAuth предлагает здесь:OAuth - встраивание секретности клиента в ваше приложение?

https://dev.twitter.com/docs/auth/oauth 

и OAuth библиотеки указателю:

http://code.google.com/p/oauth-signpost/ 

они оба говорят о использовании секрет клиента при протекании OAuth, что означает для мое клиентское приложение, мне нужно будет хранить секрет в самом приложении. Это, вероятно, опасно, поскольку кто-то может захватить секрет из моего приложения. Существуют ли какие-либо методы хранения секретности в моем приложении? Неужели я неправильно понимаю поток oauth?

Благодаря

ответ

3

Там нет способа хранения учетных данных клиента в нативном или JavaScript приложения, не делая их практически общественность. Кроме того, размещение этих учетных данных на прокси-сервере и общение с сервером на сервере (так что учетные данные не отображаются) также ничего не решает. Теперь у вас есть проблема аутентификации клиента с прокси-сервером.

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

+2

Не могли бы вы рассказать об этом? Я быстро просмотрел проект - http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-9 - означает ли это, что родные приложения не используют «секрет клиента», когда используя OAuth? Не могли бы вы описать требуемый поток? –

+3

Родные приложения не должны использовать секрет клиента, поскольку он не имеет реальной ценности и создает фальшивое чувство безопасности. –

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