Авторизация на Яндекс посредством JavaScript
Здравствуйте, подскажите пожалуйста глупому человеку :)
Сделал яндекс. почту для домена. На домене существует своя система авторизации, на яндексе своя. В документации яндекса написано, что возможно сделать следующее: Если вы хотите, чтобы пользователь при авторизации на вашем сайте авторизовывался автоматически и в почте, то вам нужно разместить эту же форму в скрытом фрейме. После ввода логина и пароля на вашем сайте передайте посредством JavaScript'а почтовый логин и пароль в нее и выполните сабмит. В результате чего (если логин и пароль правильные) пользователь будет авторизован в почте, и будет проставлена соответствующая кука. Если вы разместите на вашем сайте ссылку на http://mail.yandex.ru/for/yourdomain.ru, то она будет вести, в случае успешной авторизации, в ящик пользователя. Подскажите пожалуйста как это реализовать :cray: |
После такого доступного описания не должно вообще никаких вопросов возникать, даже с минимальным знанием JS.
Создаешь скрытый фрейм с таким содержанием Введенные пользователем данные копируешь в поля формы фрейма, а затем вызываешь метод submit() формы (той что во фрейме). |
Цитата:
|
Цитата:
|
Если человек признает что он глуп - значит он не глуп :)
Вот непричесанный код без валидации и т.п. фрейм: <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <form method="post" action="https://passport.yandex.ru/for/YourDomain.ru?mode=auth"> <input type="text" name="login" value="1" tabindex="1"/> <input type="hidden" name="retpath" value="http://mail.yandex.ru/for/YourDomain.ru"> <input type="password" name="passwd" value="" maxlength="100" tabindex="2"/> <br> </form> </body> </html> авторизация: <!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script> window.onload = function(e) { document.getElementById('auth').onsubmit = function(e) { frames[0].document.forms[0].login.value = document.forms[0].login.value; frames[0].document.forms[0].passwd.value = document.forms[0].passwd.value; frames[0].document.forms[0].submit(); } } </script> </head> <body> <form id="auth" method="post" action="/auth"> <div class="label">Логин:</div> <input type="text" name="login" value="" tabindex="1"/> <div class="label">Пароль:</div> <input type="password" name="passwd" value="" maxlength="100" tabindex="2"/> <br> <input type="submit" name="In" value="Войти" tabindex="5"/> </form> <iframe src="frame.html"> Фиг вам а не авторизация в яндексе </iframe> </body> </html> |
jsgeek,
Спасибо!!! |
Часовой пояс GMT +3, время: 17:06. |