авторизация через стим php
Авторизация через стим php
SteamAuthentication is a basic set of PHP files that enable users to login using their steam account to view protected content on your website. it creates a session using their steamid as the sessionID and checks for the session when a user visits the page. It also includes a file which allows you to use their profile information such as their avatar and online status.
I nor Steam condone the use of this library for the purpose of gambling sites. Any sites that use this library for this purpose violates their API agreement and will receive notices from Steam to cease operations.
By downloading this library you agree that you will not use it for any gambling or illegal activity.
For Issues relating directly to this SteamAuthentication Library feel free to create a Github Issue.
For any general PHP or SQL problems please use stackoverflow or similar, else we will generally close these straight away if created here, thanks!
Please note the main repository is constantly being updated so may contain bugs and other bleeding edge risks. For a stable download please visit the releases page: https://github.com/SmItH197/SteamAuthentication/releases
Using MySQL? Don’t forget to sanitise your inputs!
Upload the steamauth folder.
Open up SteamConfig.php
Now in the page that you would like to use the steamauth library, add the following at the top:
And where you want the protected content to be:
By default, the logout & login buttons reload the current page, this can be changed in the SteamConfig file.
Be aware that naming a file in your webpage root like any file in the steamauth folder will break SteamAuth.
Choosing a login button style
by default loginbutton(); will display
You can choose the style of the login button by specifying a variable like the following:
Using Profile Variables
I have created a userInfo.php file which creates an array of ready to use variables that includes profile information of the steam user that has logged in:
Please note that some of these variables may be unavailable for some users as it depends on their privacy settings.
Update User Information
Automatically refresh Steam profile data if older than specified time when they next visit your site
change line 67 of steamauth.php From:
example shown would update if older than 24 hours.
About
A simple PHP Authentication that enables steam users to log into their steam account to access content!
Немного о Steam Web Api
Сервис цифровой дистрибуции Steam от компании Valve становится всё более популярным среди игроков. По состоянию на январь 2013, через Steam распространяется более трёх тысяч товаров, на которые действуют ежедневные, срединедельные и скидки на выходные дни, а количество зарегистрированных аккаунтов превысило 60 миллионов.
В настоящее время, в рунете очень мало информации об использовании Steam Api (или же Steam Web Api). В данном топике я расскажу о том, как получать нужную вам информацию из сообщества Steam для интеграции её в свои сайты, блоги или же просто получить информацию о пользователе, не заходя в Steam.
Начнем с главного. После несложных действий, я создал одну php страницу, которая, по запросу имени пользователя, либо SteamID или SteamcommunityID, выводит множество подробной информации о профиле Steam. Информации там намного больше, чем предоставляют аналогичные англоязычные сервисы.
Посмотреть работу страницы можно здесь. При желании, можно существенно доработать сервис, например добавить возможность определить, какие игры есть на аккаунте конкретного пользователя, и сколько они стоят (как когда-то делал steamcalculator).
Кому интересен исходный код моей страницы, алгоритм определения типа вводимых данных или алгоритм перебора одинаковых xml параметров, можете написать мне тут, или в контактной информации на той странице.
Открываем капот Steam
Информацию о пользователе Steam можно получить несколькими способами. Наиболее популярные из них, это:
— использовать именно Steam Web Api, который предлагают они нам сами (но предоставленной информации там увы не много)
— получать и обрабатывать данные сообщества напрямую, в формате xml.
— получать и обрабатывать данные сообщества напрямую, в формате json.
Первый способ мне не особо интересен, я пользовался сразу двумя оставшимися.
XML
Получить информацию о пользователе довольно просто. Достаточно лишь ввести в адресную строку браузера запрос в виде:
steamcommunity.com/profiles*SteamID*/?xml=1
Например:
steamcommunity.com/profiles/76561198036370701/?xml=1
(к слову, если пользователь имеет CustomURL, то адрес ссылки изменится с «. /profiles/*SteamID*/. » на «. /id/*CustomURL*/. «)
Эту страницу можно ловить и обрабатывать при помощи cURL или (что для меня проще) функции simplexml_load_file();, например:
$slf = «http://steamcommunity.com/profiles/76561198036370701/?xml=1»;
$url = simplexml_load_file($slf);
JSON
Прежде всего вам понадобится apikey. Зарегистрировать его можно здесь.
Получать и обрабатывать эти данные можно командой file_get_contents, а в последствии сконвертировать всё в массив примерно вот таким способом:
$urljson = file_get_contents(«http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=*apikey*&steamids=*steamid*»);
$data = (array) json_decode($urljson)->response->players[0];
Например:
$urljson = file_get_contents(«http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=38A3BEAE3EFA726E4438207D08CB0EC7&steamids=76561198036370701»);
$data = (array) json_decode($urljson)->response->players[0];
А выводить, например содержимое блока profileurl строчкой кода:
Подводим итог
Методы получения информации о пользователе Steam не ограничиваются теми, что я привел. Те ссылки, которыми я получал данные используются только для получения суммарной (общей) информации. Отдельно можно получать список игр пользователя, список друзей, список групп, предметов инвентаря и мастерской и многое другое.
На основе полученных данных можно также сделать сервис генерации баннеров, юзербаров, профайлов для форумов и блогов, по аналогии с сервисом steamprofile.
Из недостатков работы сервиса можно выделить то, что в пик нагруженности серверов Steam, для получения информации о пользователе время запроса данных может колебаться от 0,1 до 12 секунд, а также часто втречается ошибка 503 (сервис недоступен), приходится отправлять запрос заново. Как вариант решения проблемы — не отправлять запрос чаще, чем раз в 10 секунд. Если у вас есть другие способы решения проблемы, пишите.
Авторизация через стим php
не копировал, делал сам, не выводит изображение не как (
Нет, тоже не работает и не с работает. Я вывел необходимые данные )
Нет, тоже не работает и не с работает. Я вывел необходимые данные )
Всё нормально работает, сам проверил, видимо ты с ключом ошибся.
Так же надо было сделать вывод в steamID64
обработка была в steamid32
после того как все изменил, была выведен аватар пользователя.