Как использовать Вход с Apple с Apple JS

Я бы использовал «Войти через Apple» в Интернете через Apple JS. Пример кода можно найти здесь: https://developer.apple.com/documentation/signinwithapplejs/configuring_your_webpage_for_sign_in_with_apple

Теперь вопрос: что такое Client ID и где его найти. Я проверил идентификатор идентификатора приложения на https://developer.apple.com/account/resources/identifiers/list, и я проверил идентификатор идентификатора службы. Если я нажимаю кнопку и подтверждаю с помощью Touch ID на моем Mac, я получаю ошибку «AUTH_ALERT_SIGN_UP_NOT_COMPLETED»:

введите описание изображения здесь

Это используемый код:

<html>
    <head>
    </head>
    <body>
        <button id="sign-in-with-apple-button"> Sign In with Apple </button>
        <script type="text/javascript" src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script>
        <script type="text/javascript">
            AppleID.auth.init({
                clientId : 'unknown',
                scope : 'email',
                redirectURI: 'https://mytld/test.php',
                state : 'DE'
            });

            const buttonElement = document.getElementById('sign-in-with-apple-button');
            buttonElement.addEventListener('click', () => {
                AppleID.auth.signIn();
            });
        </script>
    </body>
</html>

Я не получил запроса на test.php.


person Hanashi    schedule 04.06.2019    source источник
comment
Да, но где я могу найти этот идентификатор клиента? В документации нет ссылки что ли.   -  person Hanashi    schedule 04.06.2019
comment
Состояние - это не DE, как в Делавэре, а скорее настраиваемое состояние приложения, которое можно использовать для смягчения CSRF. Прочтите эту статью: developer.okta.com/blog/2019/06/04/   -  person Ann Kilzer    schedule 21.06.2021


Ответы (1)


Идентификатор клиента - это «Идентификатор» вашего идентификатора службы со знаком «Знак В с Apple "включен:

«Конфигурация

Apple рекомендует указать следующий формат на экране «Зарегистрировать идентификатор службы»:

Мы рекомендуем использовать строку стиля обратного имени домена (например, com.domainname.appname). Он не может содержать звездочку (*).

person Kaspars    schedule 04.06.2019
comment
Значит, невозможно реализовать вход через Apple без членства разработчика? - person Tarvo Mäesepp; 26.06.2019
comment
Верно - невозможно включить вход через Apple без членства в Apple Developer. - person Kaspars; 26.06.2019
comment
@Kaspars Как вы настраивали вход в систему с помощью Apple? Где этот док? Когда я ввожу свое доменное имя, он просто говорит мне, что он недействителен, а инструкции странные, поскольку он говорит, что нужно что-то загрузить, но нет ссылки для загрузки. - person Gargoyle; 05.07.2019
comment
Только Apple может вызывать CLIENT ID в API и называть его Service Identifier на своей стороне. Это ментально. - person Mirko; 26.02.2021