С авторизацией Twitter oAuth, как вы определяете, какое имя пользователя в Twitter? - PullRequest
5 голосов
/ 07 сентября 2010

Разработка веб-приложения, которое я зарегистрировал в Twitter. В этом приложении у меня может быть 10 различных идентификаторов Twitter, для которых я хочу разрешить или запретить доступ для приложения.

Например:

https://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXX&oauth_callback=http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback/

По умолчанию всегда используется моя учетная запись в твиттере, и мне нужно указать «Выход», а затем войти в систему с новой учетной записью. Это почти как мне нужен дополнительный параметр строки запроса, такой как

https://api.twitter.com/oauth/authorize?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXX&oauth_callback=http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback/&ForUsername=billgates

Ответы [ 2 ]

3 голосов
/ 25 января 2011

На самом деле, вы можете передать дополнительный параметр с помощью URL обратного вызова, например, так:

https://api.twitter.com/oauth/authorize?oauth_token=XXX&oauth_callback=http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback?ForUsername=billgates

, и параметр будет возвращен вам, когда Twitter вызовет URL-адрес возврата, например:

http:://localhost:24649/TwitterIdentity/GetTwitterAuthorizationCallback?ForUsername=billgates&oauth_token=XXX&access_token=YYY

Подробнее об этом вы можете прочитать в документации - http://dev.twitter.com/pages/auth:

Всегда используйте явный oauth_callback - Рекомендуется указывать OAuth по умолчаниюобратный вызов в вашей записи клиента, но явно объявляйте ваш oauth_callback при каждом запросе выборки токена запроса, который делает ваше приложение. Динамически устанавливая ваш oauth_callback, вы можете передавать дополнительную информацию о состоянии обратно в ваше приложение и лучше контролировать работу.

1 голос
/ 08 сентября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...