Невозможно получить токен ID LIFF на iOS (работает на Android) в приложении для чата Spring Boot + JQUERYJquery

Программирование на jquery
Ответить
Anonymous
 Невозможно получить токен ID LIFF на iOS (работает на Android) в приложении для чата Spring Boot + JQUERY

Сообщение Anonymous »

Я строю приложение с Java Spring Boot + jQuery, используя Liffsdk для моего приложения чата. < /p>
@GetMapping
public String init(@RequestParam String liffChannelId,
@RequestParam String messageChannelId,
@RequestParam String isInit,
@RequestParam String idToken,
HttpServletRequest request, Model model) {
if (Objects.isNull(isInit)) {
return "chat_ui";
}

ChatForm form =chatHelper.init(liffChannelId, messageChannelId, idToken, request);
model.addAttribute("form", form);

return "chat_ui";
}
< /code>
и в моем JS: < /p>
$(document).ready(function () {
const urlParams = new URLSearchParams(window.location.search);
const isInit = urlParams.get("isInit");
if (!isInit) {
initLiffApp();
}
});

function initLiffApp() {
const messageChannelId = new URLSearchParams(window.location.search).get("messageChannelId");

const liffChannelId = new URLSearchParams(window.location.search).get("liffChannelId");

const liffId = new URLSearchParams(window.location.search).get("liffId");

liff
.init({
liffId: liffId
})
.then(() => {
const idToken = liff.getIDToken();
if (!idToken) {
alert("Failed to get ID Token");
return;
}
sendToServer(liffChannelId, messageChannelId, idToken);
})
.catch(err => {
console.error("LIFF error", err);
});
}

function sendToServer(liffChannelId, messageChannelId, idToken) {
const redirectUrl = `/chat?liffChannelId=${encodeURIComponent(liffChannelId)}&messageChannelId=${encodeURIComponent(messageChannelId)}&isInit=1&idToken=${encodeURIComponent(idToken)}`;
window.location.href = redirectUrl;
}
< /code>
Приложение дважды вызывает сервер. При инициализации, исходя из того, передается ли переменная ISINIT или нет, она вернется к интерфейсу. Затем в JS он позвонит Liff Server, чтобы получить идентификацию. В настоящее время он позвонит на сервере во второй раз с помощью isInit variable = true, а затем сервер будет продолжать обработать. Большое спасибо !!!

Подробнее здесь: https://stackoverflow.com/questions/797 ... -boot-jque
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»