Рубрики
Uncategorized

Войдите в систему с apple, как серверная часть анализирует пользовательские данные?

Автор оригинала: David Wong.

Авторизация пользователя

Когда пользователь авторизован для входа в приложение IOS, приложение может получить идентификационный токен , Код авторизации , Идентификатор пользователя Данные для этих трех полей.

php–jwt

Серверная часть получила от переднего конца идентификационный токен После строки, потому что identityToken Это JWT , поэтому нам нужно установить следующие пары сторонних библиотек identityToken Синтаксический анализ

composer require firebase/php-jwt

JWK

После установки нам необходимо получить расшифровку JWT Из JWK , которую можно получить , посетив https://appleid.apple.com/auth/keys

{
    "keys": [
        {
            "kty": "RSA",
            "kid": "AIDOPK1",
            "use": "sig",
            "alg": "RS256",
            "n": "lxrwmuYSAsTfn-lUu4goZSXBD9ackM9OJuwUVQHmbZo6GW4Fu_auUdN5zI7Y1dEDfgt7m7QXWbHuMD01HLnD4eRtY-RNwCWdjNfEaY_esUPY3OVMrNDI15Ns13xspWS3q-13kdGv9jHI28P87RvMpjz_JCpQ5IM44oSyRnYtVJO-320SB8E2Bw92pmrenbp67KRUzTEVfGU4-obP5RZ09OxvCr1io4KJvEOjDJuuoClF66AT72WymtoMdwzUmhINjR0XSqK6H0MdWsjw7ysyd_JhmqX5CAaT9Pgi0J8lU_pcl215oANqjy7Ob-VMhug9eGyxAWVfu_1u6QJKePlE-w",
            "e": "AQAB"
        }
    ]
}

Да. JWK После этого с помощью стороннего веб-сайта https://8gwifi.org/jwkconvertfunctions.jsp, мы можем легко JWK Преобразовать в PEM Сохраненный локально

анализ

После ряда подготовительных действий, если PEM Расположение файла путь/к/apple-publickey.pem Идентификационные данные авторизованного пользователя могут быть получены с помощью следующего кода

$cert_content=file_get_contents("path/to/apple-publickey.pem");
$decode=JWT::decode($identityToken,$cert_content,['RS256']);
print_r($decode);

Ссылка

  • IOS 13 Apple вход в учетную запись и проверка данных, связанные https://juejin.im/post/5d551d11e51d4561cf15dfae