Авторизация на сайтах через Steam и безопасность ваших аккаунтов.

Система OAuth

Коротко о том, что это вообще такое:

Getting started

Steam’s implementation is based upon

During your initial setup you will need to contact Valve with the following information:

In return, Valve will assign a

Client ID

for your implementation.

А теперь обсудим, как в целом обезопасить ваш аккаунт steam

  1. Самое главное, это мобильный аутентификатор. Это повышает вашу безопасность на 500%. Никто не сможет получить доступ к вашему аккаунту без вашего телефона.
  2. Можно включить родительский контроль на ваш аккаунт. После этого, никто не сможет пользоваться вашим аккаунтов без введения дополнительного пароля, даже если у него будет доступ к вашему аккаунту. Инструкция по включению ниже:

Выбираем настройки доступа.

Вводим свой 4-значный пин-код.

И подтверждаем изменения секретным кодом из письма на почте.

После этого, для полноценного использования вашего аккаунта, нужно будет ввести дополнительный пароль.

3. Следите за правильностью ссылки на сайте Steam. Особенно, если вы были авторизованы в Steam, а вас еще раз просят ввести данные для входа на сайт.

Авторизация через steam

Сегодня я решил поработать над авторизацией через Steam и немного помучавшись у меня вышло 🙂

Весь код можно найти тут.

Для начала нужно получить ваш Секретный ключ(Api key), который можно получить тут.

Авторизация на сайтах через Steam и безопасность ваших аккаунтов.

Теперь, как и в прошлый раз, я разберу весь код 🙂

Ну как обычно мы создаем массив для необходимых данных

$steam=array('key'=>'Секретный_ключ','redirect'=>'страница_редиректа');

Секретный_ключ дается вам стимом!

Теперь самое время создать ссылку для авторизации:

$link="<a href="https://steamcommunity.com/openid/login?openid.ns=http://specs.openid.net/auth/2.0&openid.mode=checkid_setup&openid.return_to=".urldecode($steam["redirect"])."?state=steam&openid.realm=".urldecode($steam["redirect"])."&openid.ns.sreg=http://openid.net/extensions/sreg/1.1&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&openid.identity=http://specs.openid.net/auth/2.0/identifier_select">Аутентификация через Steam</a>"; // Создание ссылки для аутентификации
echo $link;

Проверяем пришел ли необходимый для нас код и правда ли мы пришли от steam`a:

if(isset($_GET["state"]) and @$_GET["state"]=="steam" and isset($_GET["openid_identity"])) {

Если всё хорошо, то получаем данные о пользователе:

preg_match("/^http://steamcommunity.com/openid/id/(7[0-9]{15,25} )$/", $_GET["openid_identity"], $key);
$key=$key[1];
$userInfo = json_decode(file_get_contents("http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=".$steam["key"]."&steamids=".$key)); 
$userInfo=$userInfo->response->players[0];

Переменная userInfo имеет структуру объекта, а не массива, а значит нужно обращаться к данным примерно так: $userInfo->id.

Ну вот и всё) Спасибо за внимание 🙂

Для чего это нужно?

1)Это автоматизация процесса регистрации, что ускоряет процесс регистрации новых пользователей. Вам не нужно вручную вводить все данные для регистрации.

Похожее:  22 тысячи жителей Центрального и Железнодорожного районов Барнаула пользуются Личным кабинетом | ФНС России | 22 Алтайский край

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *