Jedynym naprawdę rozsądny sposób, w tej chwili, aby zrobić OAuth 1 w przeglądarce, polega na kierowaniu wywołań API za pośrednictwem serwera.
Po prostu nie ma sposobu, o ile zrozumiałem, wokół tego. Jeśli wykonasz OAuth 1.0a wywołania JavaScript z poziomu przeglądarki -> MUSISZ ujawnić tajny klucz klienta i tajny token dostępu, co najmniej użytkownikowi końcowemu.
Nie można przechowywać te poświadczenia w:
- cookie, użytkownik może je znaleźć.
- lokalna pamięć, użytkownik może je znaleźć (lepiej jednak niż ciasteczko, ponieważ nie powoduje wysyłania ciasteczka w kółko przez HTTP)
- w javascriptu, użytkownik może je znaleźć (chociaż jest to prawdopodobnie najlepiej, ponieważ łatwiej jest ukryć).
Gdyby to był tylko tajny token dostępu, który byłby narażony na użytkownika końcowego, byłoby to znośne - ponieważ w rzeczywistości to on/ona uwierzytelnił twoją aplikację. Ale utrata tajemnicy klienta nie jest tak gorąca, oznacza to, że twoja aplikacja kwalifikuje się do kradzieży tożsamości. Może ktoś napisał aplikację, która twierdzi, że jest Twoją aplikacją.
Nawet jeśli sprawiłeś, że działa bezpiecznie w przeglądarce, utrudniają Cię blokowanie zabezpieczeń międzydomenowych.
Zamiast dodawać nowe pytanie do tego wątku, powinieneś oznaczyć je jako rozwiązane i zamieścić nowe, szczególnie pytania nie są TAKIE PODOBNE. Odpowiedź na pytanie uzupełniające dostępna jest tutaj: [Bezpieczne OAuth w JavaScript] (http://stackoverflow.com/questions/6144826/secure-oauth-in-javascript) –
Tytuł mojego pytania się nie zmienił. Może chcesz, żebym usunął notkę jsOAuth – rico
Zaakceptuj odpowiedź już teraz ... :) –