Авторизация на Яндекс посредством 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, время: 12:29. |