Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Залогиниться ВК с java-сервлета (http://www.flasher.ru/forum/showthread.php?t=182007)

Jarproger 09.07.2012 13:41

Залогиниться ВК с java-сервлета
 
У меня есть сервер на томкате\яве и таблица Users в MySQL. при первом открытии приложения пользователя нужно зарегистрировать, и при этом ПРОВЕРИТЬ со стороны сервера, действительно ли этот пользователь зашёл в приложение вк со СВОЕЙ страницы. Как бы это реализовать? Есть ли готовые классы java для залогинивания ВК с сервера?

caseyryan 09.07.2012 14:08

Так что конкретно нужно-то? Залогинить юзера в контакт или залогинить его на свой сервер пердварительно проверив зашел ли он с настоящей страницы в контакте?
Если второе, то реализовывается просто, с помощью проверки auth_key в джава классе. Могу выложить пример кода со своего сервака, где это реализовано (если конечно нужно именно это)

Jarproger 09.07.2012 14:34

Второе. Нужно проверить, что запрос именно с реальной страницы делается, а не откуда попало

caseyryan 09.07.2012 21:14

У меня реализован простой статический метод:
Код AS3:

package game;
 
public class VK
{
  private static String        API_ID        = "*******"; // сюда, естественно вставить свои значения
  private static String        API_SECRET = "Iu1VLAghjrgOaXrgrgergKm";
 
  public static boolean passwordIsLegal(String login, String password) {
        String secretKey = MD5.encrypt(API_ID + "_" + login + "_" + API_SECRET);
        System.out.println("secret key is: " + secretKey + ", and password is: " + password);
        return password.equals(secretKey);
  }
}

Ну и класс MD5, который тоже делал для этого сервака:

Код AS3:

package game;
 
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
 
 
public class MD5
{
    public static String encrypt(String stringToHash) {
                String hashtext              = "";
                try {
                        byte[] bytesOfMessage      = stringToHash.getBytes("UTF-8");
                        MessageDigest md          = MessageDigest.getInstance("MD5");
                        byte[] hash                = md.digest(bytesOfMessage);
                        BigInteger bigInt          = new BigInteger(1, hash);
                        hashtext = bigInt.toString(16);
                } catch (UnsupportedEncodingException ex) {
                        System.out.println("UnsupportedEncodingException exception");
                } catch (NoSuchAlgorithmException ex) {
                        System.out.println("NoSuchAlgorithmException exception");
                }
        return hashtext;
    }
}

В качестве пароля - auth_key контакта, в качестве логина user_id


Часовой пояс GMT +4, время: 15:43.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.