Вход на сайт через Steam

Тема в разделе "Веб-технологии", создана пользователем mzeke, 14 мар 2015.

  1. mzeke

    mzeke

    Сообщения:
    54
    Симпатии:
    4
    Здравствуйте.

    Скажите можно ли и как сложно реализовать sign in через аккаунт Steam, как это сделано на www.CSPL.ru и www.rgmix.eu ?

    Заранее спасибо.
     
  2. Sam_Fisher

    Sam_Fisher

    Сообщения:
    703
    Симпатии:
    202
    mzeke, у rgmix движок IPB и там есть такой хук.
     
    mzeke нравится это.
  3. ykpon

    ykpon Владыка Read Only

    Сообщения:
    396
    Симпатии:
    102
  4. mzeke

    mzeke

    Сообщения:
    54
    Симпатии:
    4
    Спасибо.
     
  5. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    Вообще, это даже не авторизация. Ты просто получаешь steamid нужного тебе пользователя, а что делать с ним дальше - решать тебе.
    Если хочешь полноценную авторизацию, ну ты сам пишешь, как пришлось мне, то делай сессию, записывай steamid и всё.
    Вот мною переделанный вариант. Чутка дописать тебе остаётся его, ибо скрипт на cyberforum'е не хотел работать :D Мб руки кривые, ну да ладно.

    steam_auth.php - собственно, само получение ид пользователя, перевод на steamcommunity.com и т.д.
    auth.php - получает данные пользователя, записывает их в сессию.

    В итоге, ты можешь вставить в любое место ссылку вида:
    http://сайт.ру/steam_auth.php?login
    Ну и далее всё по накатанной пойдёт.
    Записанные переменные:
     

    Вложения:

    • script.zip
      Размер файла:
      1,4 КБ
      Просмотров:
      40
    farrewa и Danyas нравится это.
  6. mzeke

    mzeke

    Сообщения:
    54
    Симпатии:
    4
    Primo, мне нужно сделать, чтобы человек ввел данные от стима, ввел код стим гуард и все. Он зарегался на сайте (форуме). Где его аватар это ава в стиме, а логин на сайте это логин стима. Так можно сделать?
     
  7. mzeke

    mzeke

    Сообщения:
    54
    Симпатии:
    4
    Ибо вот что выдает после авторизации
     

    Вложения:

  8. ykpon

    ykpon Владыка Read Only

    Сообщения:
    396
    Симпатии:
    102
    Этим скриптом отправляешь юзверя по своей ссылке на логин в стим, он там логинится и его бросает обратно, а потом запиливаешь его логин, стимайди и куда хочешь.
     
  9. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    ykpon, давай рассуждать логически. OpenID лишь получается id пользователя, ничего более. Сама авторизация - запись данных в сессию пользователя и работа с ней. Скрипт записывает данные в сессию, и не даёт пройти "авторизацию" снова, если данные уже записаны в сессию.
    Что делать, как поступить, решать ТСу. Сессия записывается, значит авторизация работает. А вот под различные CMS нужно подстраивать скрипт. Мой скрипт для сайта с нуля.
     
  10. ykpon

    ykpon Владыка Read Only

    Сообщения:
    396
    Симпатии:
    102
    Да хоспади, там скрипт так называется. От openid сервиса там вообще только название.
    Все данные он получает нормально и работает тоже.
    И я не пойму, с каких пор OpenID то перестал получать все данные? Он как получал их, так и сейчас получает.
     
  11. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    ykpon, какие все данные? Через openid идёт запрос к steam на получение id. Остальные данные, типа ника и т.д. получаются независимо от openid. Просто через steamapi. Нужно лишь знать id пользователя, данные которого ты хочешь получить.
     
  12. ykpon

    ykpon Владыка Read Only

    Сообщения:
    396
    Симпатии:
    102
    openid - это название сервиса либо стандарт, смотря о чем конкретно речь, а не понятие, подразумевающее получение id.
     
  13. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    ykpon, я тебе говорю, что он делает в данном случае, а не что такое openid ...
    Опять недопонимание.
     
  14. ykpon

    ykpon Владыка Read Only

    Сообщения:
    396
    Симпатии:
    102
    Кто "он"? Ссылку, что я прислал, ты открывал? Там код работоспособный. Через API получает любые данные, которые отдает Steam. И там не только ID.
     
  15. HooLIGUN

    HooLIGUN

    Сообщения:
    748
    Симпатии:
    126
    У нас стоит вот этот хук. Он стабильнее,чем выложил Sam_Fisher
     
  16. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    Дураком прикидываешься? (Знаю, что не дурак :D)
    Снова, та же самая ситуация, как в другой темке. Перечитывай всё, что я написал, если тебе не лень.

    Через openid получаем id пользователя steam.
    Далее, в файле auth.php идёт получение самих данных пользователя (ника, и т.д.) через steamapi. В процессе получения данных пользователя openid не участвует.

    Повторюсь, это переделанный скрипт с cyber'а, который вполне нормально работает.
     
  17. ykpon

    ykpon Владыка Read Only

    Сообщения:
    396
    Симпатии:
    102
    Я не пойму, что ты доказать мне хочешь.
    На киберфоруме скрипт выложен. Ты присылаешь то же самое, но что то пытаешься доказать, а что, я не знаю. :)
     
  18. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    ykpon, так ты же докопался, что что-то не так :D
    На киберфоруме такой же скрипт, не отрицаю, однако я выложил готовый с сессией.
    Т.е. скрипт заново вызвать нельзя, если ты данные уже получены. Если данные не получены, то скрипт можно вызвать. Данные записываются в сессию, т.е. полученными данными, которые записаны в переменные, можно пользоваться в любом месте на домене (глобальные переменные, записанные на стороне сервера).
     
  19. Sam_Fisher

    Sam_Fisher

    Сообщения:
    703
    Симпатии:
    202


    Если что, то они одинаковы.