Jaki jest najlepszy sposób bezpiecznego uwierzytelniania OAuth na Twitterze w JavaScript?Bezpieczne uwierzytelnianie OAuth na Twitterze w JavaScript/jQuery (plus pomocnik po stronie serwera)
Próbuję napisać program, który pozwoli użytkownikowi przeanalizować jego użycie na Twitterze i obserwatorów/znajomych. Napisałem wersję po stronie serwera, która działa przy użyciu modułu pythona tweepy.
Chciałbym podzielić się nim z ludźmi, ale chciałbym, aby uruchamiał się w przeglądarce, aby był skalowalny lub działa na moim małym serwerze.
widzę kolejne pytanie gdzie Skutek jest taki, że nie jest to zalecane i nie jest bezpieczne: JavaScript OAuth sign in with Twitter
Jaki sens jeśli były wysyłanie konsumentów (APP) tajne lub dostępu (użytkownika) w tajemnicy w aplikacji JavaScript.
Ale dlaczego nie mogę zbudować URL po stronie serwera jak tutaj - http://djangosnippets.org/snippets/1353/
Następnie wyślij URL uwierzytelniania powrotem do przeglądarki, coś takiego z OAuth narzędzie na mojej stronie Aplikacje Twittera (nie ważne poświadczenia)
GET & https% 3A% 2F% 2Fapi.twitter.com% 2F1% 2F & dostać% 252Faccount% 252Fverify_credentials_json% 3D% 26oauth_consumer_key% GD0bgcgMU4MDwNfKQpLFQS3% 26oauth_nonce% 3D24ad5049501dee1292afd8cf22307d68% 26oauth_signature_method% 3DHMAC-SHA1% 26oauth_timestamp% 3D1329173626 % 26oauth_token% uPUpxsBc3D283768289LtQ6R1E z1KeD8DOSsm5XpqJaKI28ysYh% 26oauth_version% 3D1.0
Następnie użyj jQuery, aby uwierzytelnić się przy użyciu poświadczeń użytkownika i uruchomić analizę.
To ważna praca, nie chciałbym tego robić, a potem dowiedziałem się, że to nie działa lub jest niebezpieczne. (lub już zostało zrobione)
Czy to jest bezpieczne? Wydaje się, że nie ujawnia żadnych tajemnic.
Czy to zadziała?
Jakieś wskazówki/przykłady na temat właściwego sposobu uwierzytelniania dla nooba jQuery, z koniecznym przetwarzaniem Authorization: header i cookie/redirect?
Czuję, że czegoś brakuje i albo jest jakiś powód, dla którego to nie zadziała, albo powinno już gdzieś istnieć, ale go nie znalazłem. Wielkie dzięki!
Myślałem, że kluczem do podziału klucza konsumenta i tajemnicy klienta jest to, że może odsłonić klucz i nikt nie może nic zrobić bez sekretu. Co może zrobić ktoś z kluczem konsumenta, jeśli nie ma tajemnicy konsumenta? –
Tak, masz rację. Proponujesz zasadniczo, aby twój serwer podpisał się przy użyciu tajemnicy klienta, a następnie przekazać go klientowi. Możesz to zrobić, ale nie jest to bardziej skalowalne, niż tylko to, że serwer wysyła żądanie w imieniu użytkownika. – Alan
Tak, w zasadzie chcę proxy uwierzytelniania, a następnie przeglądarki wykonać kilka wywołań API. To będzie kilkaset połączeń, aż do limitów dławiących. Poza tym zajmą dużo czasu i będą wiązać zasoby podczas pracy. Więc naprawdę wolę nie robić tego na serwerze, będą większe rzędy wielkości. Chciałbym przekazać URL lub token do przeglądarki, a następnie użyć tego do wywoływania interfejsu API za pomocą jQuery lub czystego JavaScript. –