Cloudkit JS Ошибка аутентификации - это действие не может быть выполнено - PullRequest
0 голосов
/ 26 января 2020

Попытка аутентификации пользователей Apple в приложении Angular с использованием Cloudkit JS.

Пробовал следующие 2 способа:

Первый:

try {
    let resp:any = await this.authService.request.httpClient.get("https://api.apple- 
   cloudkit.com/database/1/[container]/[environment]/[database]/users/current?ckAPIToken= 
   [APItoken]").toPromise();
  console.log(resp);

} catch (error) {
  console.log(error);

   if(error.status == 421 && error.error.serverErrorCode == "AUTHENTICATION_REQUIRED") {
     if(error.error && error.error.redirectURL) {

       window.open(error.error.redirectURL, "mywindow", "location=1,status=1,scrollbars=1, width=800,height=800");
       let listener = window.addEventListener('message', async (e) => {

         console.log(e);

       });
     }
   }
}

Второй:

    <script src="https://cdn.apple-cloudkit.com/ck/1/cloudkit.js"></script>

    <div id="apple-sign-in-button"></div>
    <div id="apple-sign-out-button"></div>

    this.container
    .setUpAuth()
    .then(userInfo => {
      if (userInfo) {
        this.userInfo = userInfo;
        res(this.userInfo);
      }
      this.container
        .whenUserSignsIn()
        .then(userInfo => {
          this.userInfo = userInfo;
          res(this.userInfo);
        }).catch((err) => {rej(err)})
    }).catch((err) => {rej(err)})


Оба выдают одинаковую ошибку в окне проверки подлинности Apple с правильными учетными данными и после входа, как показано ниже:

enter image description here


Ответ окна PostMessage после первого метода

data:
errorMessage: "unknownError"


Примечания:

  • Я настроил проект Xcode и включил контейнер и облачный комплект в проекте
  • Еще не загрузил ни одной сборки в магазин приложений (даже не тестировал) - не знаю, если это требуется
  • Я вижу контейнер на панели управления Clodkit
...