Безопасная аутентификация OAuth для Twitter в JavaScript / jQuery (плюс помощник на стороне сервера)

Как лучше всего безопасно выполнять аутентификацию Twitter OAuth в JavaScript?

Я пытаюсь написать программу, позволяющую пользователю анализировать его использование Twitter и подписчиков / друзей. Я написал версию на стороне сервера, которая работает с модулем python tweepy.

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

Я вижу еще один вопрос, из которого следует, что это не рекомендуется и небезопасно: JavaScript OAuth для входа в Twitter

Что имеет смысл, если кто-то отправляет секрет потребителя (приложения) или секрет доступа (пользователя) в JavaScript приложения.

Но почему я не мог создать URL-адрес на стороне сервера, как здесь - http: // djangosnippets.org / snippets / 1353 /

Затем отправьте URL-адрес аутентификации обратно в браузер, что-то вроде этого из инструмента OAuth на странице «Мои приложения» Twitter (недействительные учетные данные)

GET & https% 3A% 2F% 2Fapi.twitter.com % 2F1% 2F & получить% 252Faccount% 252Fverify_credentials_json% 3D% 26oauth_consumer_key% GD0bgcgMU4MDwNfKQpLFQS3% 26oauth_nonce% 3D24ad5049501dee1292afd8cf22307d68% 26oauth_signature_method% 3DHMAC-SHA1% 26oauth_timestamp% 3D1329173626% 26oauth_token% uPUpxsBc3D283768289LtQ6R1Ez1KeD8DOSsm5XpqJaKI28ysYh% 26oauth_version% 3D1.0

Затем есть использование JQuery, что для проверки подлинности учетные данные пользователя и запустите анализ.

Это серьезная работа, мне бы не хотелось делать это, а потом обнаруживать, что это не работает или является небезопасным подходом. (или это уже сделано)

Это безопасно? Похоже, это не раскрывает никаких секретов.

Будет ли это работать?

Есть ли какие-либо указатели / примеры правильного способа аутентификации для jQuery noob с необходимой авторизацией: обработка заголовка и cookie / перенаправления?

Мне кажется, что я чего-то упускаю, и либо есть причина, по которой это не сработает, либо оно уже должно где-то существовать, но не нашел. Большое спасибо!

6
задан Community 23 May 2017 в 09:59
поделиться