Невозможно проверить токен на внешнем интерфейсе, хотя тот же самый код работает в runkit

У меня есть веб-токен, сгенерированный aws cognito, и мне нужно проверить его во внешнем интерфейсе. У меня есть следующий работающий в runkit и код выглядит следующим образом:

var jwkToPem = require("jwk-to-pem");
var jwt = require('jsonwebtoken');
  var jwk = {"alg": "RS256", "e": "AQAB", "kid": "CzjlDgPfaQSg/7VYDK/owSdzuUrug2PWlxiAIs+EVUs=", "kty": "RSA", "n": "sOvlXPzZDe-f54IFyj3bkrgHHVA0ZJ-GAYJfALp7WPXeaLdXh6i4sUi2_-POXUyF09771ef-Jv_B2JYodLlCttJK4AnjTrGKkWN-OnWy2Xl40P7FzMbenfvbIB_pxWJ4q6t-jphS7A9F7WH-wdOJSYfNgZIdLcf8bBf8683USJi2r6c-hT9T6WgVySPCSx3YZcFYPLw0Zem7bJ2MCkqD64QBZEf3HV5HgkQHk30WSPjVMPgG_xQfpwCjtjCdEd5-RmDKqn23i94_lbQ3u1UnTEEy2w8IxD8PJazVIaPknAf_idOJ0eowf3XYvZHq_zY14kQPq4X80uHOFgzLte6uPw", "use": "sig"};
 var pem = jwkToPem(jwk);
 console.log("PEM: #########################################");
 console.log(pem);
token = "eyJraWQiOiJDempsRGdQZmFRU2dcLzdWWURLXC9vd1NkenVVcnVnMlBXbHhpQUlzK0VWVXM9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJlN2U1NmQ5MS0yNjc2LTQ5ZTMtYjAxOC1kZDQ0ZDcwZDYwYmMiLCJhdWQiOiIyNmZwMWZlaGV0Zm81dXFnZjFmMDJ2N2oxaSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJldmVudF9pZCI6ImE1MmI4YzU4LTM4YzQtMTFlOC1iMzE2LTczZjZiMTY4NDllZSIsInRva2VuX3VzZSI6ImlkIiwiYXV0aF90aW1lIjoxNTIyOTI3Nzg3LCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMV9sOUZvZTJycVoiLCJjb2duaXRvOnVzZXJuYW1lIjoiZTdlNTZkOTEtMjY3Ni00OWUzLWIwMTgtZGQ0NGQ3MGQ2MGJjIiwiZXhwIjoxNTIyOTMxMzg3LCJjdXN0b206VEpBY2Nlc3MiOiJUcnVlIiwiaWF0IjoxNTIyOTI3Nzg3LCJlbWFpbCI6ImtlZWxpbmcuYWxleGFuZGVyQGJydW5zd2lja25ld3MuY29tIn0.DYPPwkR6a2jzL5KE_MxlST1KWwCrSAK-H283qeJPnW9o4EOvTUuya0O5FTkvKljGAR-qcgkwsOMBmF9zMcN_6SHCAFIoSVMOq9Rh3kArNx9uc2g50vichSlKZROtJ1FDVqRU4I0qvcTOTBFnOrrMrSbI-2QkOVJPha1Xgj3e94B2eFxeYOkV_LoN4DIDpgYc24_hQePI8rHuS5cDFG-vVouROTG8JNWCJtCxSMStdFGATcZGAeEDo6WhGIvWimQvdKBf6gaw8d-e8f4AW1JJIr1lkbbsixEnChRKseG-4tXUpKKtGg7QNTD96o3JRHuHTPftCksCyxvCMF2Ngsny8Q";
console.log(jwt.verify(token, pem))

Теперь, когда я использую следующий код, который является упрощенной версией выше:

    var jwt = require('jsonwebtoken');
    var pem = "public key";
    console.log("PEM: #########################################");
    console.log(pem);
    var token = "eyJraWQiOiJDempsRGdQZmFRU2dcLzdWWURLXC9vd1NkenVVcnVnMlBXbHhpQUlzK0VWVXM9IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJlN2U1NmQ5MS0yNjc2LTQ5ZTMtYjAxOC1kZDQ0ZDcwZDYwYmMiLCJhdWQiOiIyNmZwMWZlaGV0Zm81dXFnZjFmMDJ2N2oxaSIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJldmVudF9pZCI6ImE1MmI4YzU4LTM4YzQtMTFlOC1iMzE2LTczZjZiMTY4NDllZSIsInRva2VuX3VzZSI6ImlkIiwiYXV0aF90aW1lIjoxNTIyOTI3Nzg3LCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAudXMtZWFzdC0xLmFtYXpvbmF3cy5jb21cL3VzLWVhc3QtMV9sOUZvZTJycVoiLCJjb2duaXRvOnVzZXJuYW1lIjoiZTdlNTZkOTEtMjY3Ni00OWUzLWIwMTgtZGQ0NGQ3MGQ2MGJjIiwiZXhwIjoxNTIyOTMxMzg3LCJjdXN0b206VEpBY2Nlc3MiOiJUcnVlIiwiaWF0IjoxNTIyOTI3Nzg3LCJlbWFpbCI6ImtlZWxpbmcuYWxleGFuZGVyQGJydW5zd2lja25ld3MuY29tIn0.DYPPwkR6a2jzL5KE_MxlST1KWwCrSAK-H283qeJPnW9o4EOvTUuya0O5FTkvKljGAR-qcgkwsOMBmF9zMcN_6SHCAFIoSVMOq9Rh3kArNx9uc2g50vichSlKZROtJ1FDVqRU4I0qvcTOTBFnOrrMrSbI-2QkOVJPha1Xgj3e94B2eFxeYOkV_LoN4DIDpgYc24_hQePI8rHuS5cDFG-vVouROTG8JNWCJtCxSMStdFGATcZGAeEDo6WhGIvWimQvdKBf6gaw8d-e8f4AW1JJIr1lkbbsixEnChRKseG-4tXUpKKtGg7QNTD96o3JRHuHTPftCksCyxvCMF2Ngsny8Q";
console.log(jwt.verify(token, pem));

Я получаю следующую ошибку в консоли моего браузера:

bundle.js:57587 Uncaught Error: sorry, createVerify is not implemented yet
 we accept pull requests

в чем проблема? выполнимо ли вообще делать проверку на переднем конце? если да, можете ли вы пролить свет на это? Есть идеи, есть ли альтернативный способ? Или даже обычно проверяют токен в переднем конце?

0 ответов

Другие вопросы по тегам