jovotech / jovo-framework

🔈 The React for Voice and Chat: Build Apps for Alexa, Messenger, Instagram, the Web, and more
https://www.jovo.tech
Apache License 2.0
1.67k stars 310 forks source link

not works getAccessToken in Spanish language #1072

Closed jasontiw closed 2 years ago

jasontiw commented 2 years ago

I'm submitting a...

Expected Behavior

Hi guys I'm testing the application and linking the app to AWS Cognito, currently I'm working with two languages Spanish and English if i test app in English it's working but if i test the app in Spanish not is working. the next is the code that I'm testing the problem is that always in Spanish the app show the AccountLinkingCard() and i have the account linked.

if (
  !this.$request?.getAccessToken() &&
  !this.$alexaSkill?.$dialog?.alexaRequest?.context?.System?.person
  ?.accessToken &&
  !this.$user.getAccessToken()
) 
{
    //always shows the same message if alexa is in spanish
    return this.showAccountLinkingCard().tell(this.t("error-linked-account"));
} 
else {
   return this.followUpState(ROUTE_NAMES.MAIN).ask(this.t("main-select"));
}
},

Your Environment

aswetlow commented 2 years ago

Hey @jasontiw

I haven't worked with AWS Cognito yet, but I can try to help.

Could you provide the request object?

jasontiw commented 2 years ago

Hi @aswetlow thank you, sorry how can i get the request object?

aswetlow commented 2 years ago

The request object is logged in your terminal. This is a sample request:

{
  "version": "1.0",
  "session": {
    "new": false,
    "sessionId": "amzn1.echo-api.session.0000000-0000-0000-0000-00000000000",
    "application": {
      "applicationId": "amzn1.echo-sdk-ams.app.000000-d0ed-0000-ad00-000000d00ebe"
    },
    "attributes": {},
    "user": {
      "userId": "amzn1.account.AM3B00000000000000000000000"
    }
  },
  "context": {
    "System": {
      "application": {
        "applicationId": "amzn1.echo-sdk-ams.app.000000-d0ed-0000-ad00-000000d00ebe"
      },
      "user": {
        "userId": "amzn1.account.AM3B00000000000000000000000"
      },
      "device": {
        "deviceId": "amzn1.ask.device.XXXXXA6LX6BOBJF6XNWQM2ZO4NVVGZRFFEL6PMXKWLOHI36IY3B4XCSZKZPR42RAWCBSQEDNGS746OCC2PKR5KDIVAUY6F2DX5GV2SQAXPD7GMKQRWLG4LFKXFPVLVTXHFGLCQKHB7ZNBKLHQU4SJG6NNGA",
        "supportedInterfaces": {
          "AudioPlayer": {}
        }
      }
    },
    "AudioPlayer": {
      "offsetInMilliseconds": 0,
      "playerActivity": "IDLE"
    }
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "amzn1.echo-api.request.0000000-0000-0000-0000-00000000000",
    "timestamp": "2015-05-13T12:34:56Z",
    "dialogState": "COMPLETED",
    "locale": "en-US",
    "intent": {
      "name": "HelpIntent",
      "confirmationStatus": "NONE",
      "slots": {}
    }
  }
}
jasontiw commented 2 years ago

Request in Spanish - Fails

>>>>> Request - 2021-10-27T15:16:58.111Z
{
"version": "1.0",
"session": {
"new": true,
"sessionId": "amzn1.echo-api.session.085b7bdd-51f4-4834-bea5-14ed9f90b390",
"application": {
"applicationId": "amzn1.ask.skill.d90d4c76-992f-47c5-8731-859a4235de93"
},
"attributes": {},
"user": {
"userId": "amzn1.ask.account.AHZSBZ3HU5XGSL2GDRHIJ2IFKX5P42JQWH3IFKMAO2KBZSNO44TG4EXZ2NY3B7WVRV3X6KSQNFAB6GUDWNXC62LWPLO7UYHPDUK6HCYVA3UYB7MVKM4POQOVZNHHFX2ODDU63Z2ANQJHBA5HCDY4W2OKJI5AAFBDNJ2IGKS5HSTK76VKPIDGORH2SPMGQJJH4P2IAVC7A5SG7FQ"
}
},
"context": {
"Extensions": {
"available": {}
},
"System": {
"application": {
"applicationId": "amzn1.ask.skill.d90d4c76-992f-47c5-8731-859a4235de93"
},
"user": {
"userId": "amzn1.ask.account.AHZSBZ3HU5XGSL2GDRHIJ2IFKX5P42JQWH3IFKMAO2KBZSNO44TG4EXZ2NY3B7WVRV3X6KSQNFAB6GUDWNXC62LWPLO7UYHPDUK6HCYVA3UYB7MVKM4POQOVZNHHFX2ODDU63Z2ANQJHBA5HCDY4W2OKJI5AAFBDNJ2IGKS5HSTK76VKPIDGORH2SPMGQJJH4P2IAVC7A5SG7FQ"
},
"device": {
"deviceId": "amzn1.ask.device.AGNGYSOWQBC5XKYXDQI54DWDNUBJWYVMJFYVSFQMKQT752F76EJYOQX4SQNQCBKTT4Q55KMER3FGTBJB7KRVETGX5ELVNXJ4ZDOHU76MCDCL6IHDKXLG73GSL5KUJGMVUX65ALPBUAN5ZJRLBNIWQO2VPPKZFONALP67HBSEAT3Q22BFWM2QO",
"supportedInterfaces": {
"Geolocation": {}
}
},
"apiEndpoint": "https://api.amazonalexa.com",
"apiAccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLmQ5MGQ0Yzc2LTk5MmYtNDdjNS04NzMxLTg1OWE0MjM1ZGU5MyIsImV4cCI6MTYzNTM0ODExOCwiaWF0IjoxNjM1MzQ3ODE4LCJuYmYiOjE2MzUzNDc4MTgsInByaXZhdGVDbGFpbXMiOnsibm9uTHdhU2NvcGVzIjoiYWxleGE6OmF1dGhlbnRpY2F0ZToyOm1hbmRhdG9yeSxhbGV4YTo6cGVyc29uX2lkOnJlYWQiLCJjb250ZXh0IjoiQUFBQUFBQUFBQUJJbzJpUUQrc1VvNitEaEc3V3ZwczZLd0VBQUFBQUFBQk5NbVBBT2lITDd4b0NvQkdNWmRFRGJZOC9oVGlDaTFYVEtjQjBFNmo2QUhMZkFlSitKTDU2OElkYVpycFA5U3VwY0VXUUtScm1oSCtSdFMzUDY2NUxHN3pXcFg5OVc2KzZsd25wK0VMNUE3aUIweWJkbFkvdHQ1OTZBNVE3dXd3cFJka3NRM3dVWG5wcGhUUzFsbEhYNFJPQWc0RjArVW5yQkxCRkF4TlBPd1gzM0Z1SEVLRWllVm5uczhFc3g1YTFieEhGV0cya0tKTGI3b0VIWjYrd21ISlBCaUYwMGJkOGROMHE0Zk9SUXI4bDJnYW0vY01kbXRJcTNRWm1LQ1prU2trMXdxUmVhWFVDdndzN2YyY0F1Tm1QS05Xc0Y2ZUt0Yng5L05SOW16cnB1UGQzY2pBSFNSTmczRnQ3VVFjNHVxNFphK0ZGbXdNc2VyemFZWGV2Tzdld0ZhMllsZE1QaXdzMm04TlFyQWt0SEdsV2UyMVpDUmw5WmJ5N0xUV0JYQkMySW15YkFWMlpYQT09IiwiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUdOR1lTT1dRQkM1WEtZWERRSTU0RFdETlVCSldZVk1KRllWU0ZRTUtRVDc1MkY3NkVKWU9RWDRTUU5RQ0JLVFQ0UTU1S01FUjNGR1RCSkI3S1JWRVRHWDVFTFZOWEo0WkRPSFU3Nk1DRENMNklIREtYTEc3M0dTTDVLVUpHTVZVWDY1QUxQQlVBTjVaSlJMQk5JV1FPMlZQUEtaRk9OQUxQNjdIQlNFQVQzUTIyQkZXTTJRTyIsInVzZXJJZCI6ImFtem4xLmFzay5hY2NvdW50LkFIWlNCWjNIVTVYR1NMMkdEUkhJSjJJRktYNVA0MkpRV0gzSUZLTUFPMktCWlNOTzQ0VEc0RVhaMk5ZM0I3V1ZSVjNYNktTUU5GQUI2R1VEV05YQzYyTFdQTE83VVlIUERVSzZIQ1lWQTNVWUI3TVZLTTRQT1FPVlpOSEhGWDJPRERVNjNaMkFOUUpIQkE1SENEWTRXMk9LSkk1QUFGQkROSjJJR0tTNUhTVEs3NlZLUElER09SSDJTUE1HUUpKSDRQMklBVkM3QTVTRzdGUSJ9fQ.ezpCabT0f5iAgJzzmayLh1izT62m17AExV0usSt8QG9iXDgHEa3wapsn1RYNUaKmdaDN2zKpxyyf1T-OWHfFD7suHSMOnFLaRP5fsn9UAlHMCofuZuej2l4EbZU03md5xytW5VofsLnXju4zuRzuU_SeacypyLa5VnBaiwIMIiS_lTfrt6F3z87fW-M5Htcy2O2QrfzBoJAm5eK0ZDI5Xja5Tf0b0lY1NKUdVIKp5hmi_PIi5kIbEOaMFjQUW1MbODg6nMRoRgY5teJeeUZI_KcDd1UM5oxtlX5bwuU5M3KOpMNPKmIdX53yOXEY2sD6OcHh6lKWPdqdWkIqm_cn1A"
}
},
"request": {
"type": "LaunchRequest",
"requestId": "amzn1.echo-api.request.1de99403-358e-4c2c-a89d-406ccb39b7b3",
"locale": "es-US",
"timestamp": "2021-10-27T15:16:58Z",
"shouldLinkResultBeReturned": false
}
}
OUTPUT {"card":{"AccountLinkingCard":{}},"tell":{"speech":"Su cuenta de Patient Orator no está vinculada. Puede ingresar estos detalles en su cuenta de Amazon y luego invocar la habilidad nuevamente"}}
<<<<< Response - 2021-10-27T15:16:58.127Z
{
"version": "1.0",
"response": {
"shouldEndSession": true,
"outputSpeech": {
"type": "SSML",
"ssml": "<speak>Su cuenta de Patient Orator no está vinculada. Puede ingresar estos detalles en su cuenta de Amazon y luego invocar la habilidad nuevamente</speak>"
},
"card": {
"type": "LinkAccount"
}
},
"sessionAttributes": {}
}

Request in English - works

>>>>> Request - 2021-10-27T15:18:45.392Z
{
"version": "1.0",
"session": {
"new": true,
"sessionId": "amzn1.echo-api.session.1fbcd9a9-b63e-47ab-8133-801770f83f3d",
"application": {
"applicationId": "amzn1.ask.skill.d90d4c76-992f-47c5-8731-859a4235de93"
},
"attributes": {},
"user": {
"userId": "amzn1.ask.account.AHZSBZ3HU5XGSL2GDRHIJ2IFKX5P42JQWH3IFKMAO2KBZSNO44TG4EXZ2NY3B7WVRV3X6KSQNFAB6GUDWNXC62LWPLO7UYHPDUK6HCYVA3UYB7MVKM4POQOVZNHHFX2ODDU63Z2ANQJHBA5HCDY4W2OKJI5AAFBDNJ2IGKS5HSTK76VKPIDGORH2SPMGQJJH4P2IAVC7A5SG7FQ"
}
},
"context": {
"Extensions": {
"available": {}
},
"System": {
"application": {
"applicationId": "amzn1.ask.skill.d90d4c76-992f-47c5-8731-859a4235de93"
},
"person": {
"personId": "amzn1.ask.person.AIWUAVOOJXJA66OLSBVEDH53BZ3QDOLPUDFL7JI6PWTHMB5OQBXUETXBOBVDXFSA7OMC4JUM6UUVKV6F343LIKP42PYVO5MP7QKX6QAB",
"accessToken": "eyJraWQiOiJQY2R0eWhKTW1ydndSQlRqTTQ5Tk9iV0RCNitVejJjcVM3akQ2cGlmcUpFPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiI2NjZiNzhjZS00NGZlLTRhYWMtOGE1NC05OWQyZTczYjQ5NGMiLCJ0b2tlbl91c2UiOiJhY2Nlc3MiLCJzY29wZSI6ImF3cy5jb2duaXRvLnNpZ25pbi51c2VyLmFkbWluIG9wZW5pZCBlbWFpbCIsImF1dGhfdGltZSI6MTYzNTM0NjI4OSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfSmhkMXJTcDlBIiwiZXhwIjoxNjM1MzQ5ODg5LCJpYXQiOjE2MzUzNDYyODksInZlcnNpb24iOjIsIxxxxxxmp0aSI6IjE5OGYwYzdkLWU0NzktNDRmMy1iMzEyLTFjYTUxNDliOWE5ZCIsImNsaWVudF9pZCI6IjNmYzRmZWgzbW1yZTljdHV0ZjRudmxiZHM1IiwidXNlcm5hbWUiOiI2NjZiNzhjZS00NGZlLTRhYWMtOGE1NC05OWQyZTczYjQ5NGMifQ.P7hOS8RMmoYZ1VN-JPtjBARiKuikREO6cmOaX-thzLKeiorqPOCdH0ZXpKNj2dSqey6orEQ2TALJap_RyLpow2O6NabeKbnz9uUfLj9dMCsiFuXPym0CSa1ayIRZMCkaT7ElIa73tfVZhylT-aqSMxmSEOUlL0opXvw7-N2yY78WBvnNj6Fs7oKxKe5DKRYeeleni6xoiOM5gRv3fCarS_NdKbymekLb31HWw5t_tZMAYzBI9cpxznyKvgPGoXcj0oHY48PirtKGwMHmHqMceh12jUV8FKktAGybTBEFJoh9YnCTnE0386gInrrOqLSmF-79QGLrFIf1dVa8xQ2Jdg",
"authenticationConfidenceLevel": {
"level": 300
}
},
"user": {
"userId": "amzn1.ask.account.AHZSBZ3HU5XGSL2GDRHIJ2IFKX5P42JQWH3IFKMAO2KBZSNO44TG4EXZ2NY3B7WVRV3X6KSQNFAB6GUDWNXC62LWPLO7UYHPDUK6HCYVA3UYB7MVKM4POQOVZNHHFX2ODDU63Z2ANQJHBA5HCDY4W2OKJI5AAFBDNJ2IGKS5HSTK76VKPIDGORH2SPMGQJJH4P2IAVC7A5SG7FQ"
},
"device": {
"deviceId": "amzn1.ask.device.AGNGYSOWQBC5XKYXDQI54DWDNUBJWYVMJFYVSFQMKQT752F76EJYOQX4SQNQCBKTT4Q55KMER3FGTBJB7KRVETGX5ELVNXJ4ZDOHU76MCDCL6IHDKXLG73GSL5KUJGMVUX65ALPBUAN5ZJRLBNIWQO2VPPKZFONALP67HBSEAT3Q22BFWM2QO",
"supportedInterfaces": {
"Geolocation": {}
}
},
"apiEndpoint": "https://api.amazonalexa.com",
"apiAccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLmQ5MGQ0Yzc2LTk5MmYtNDdjNS04NzMxLTg1OWE0MjM1ZGU5MyIsImV4cCI6MTYzNTM0ODIyNSwiaWF0IjoxNjM1MzQ3OTI1LCJuYmYiOjE2MzUzNDc5MjUsInByaXZhdGVDbGFpbXMiOnsibm9uTHdhU2NvcGVzIjoiYWxleGE6OmF1dGhlbnRpY2F0ZToyOm1hbmRhdG9yeSxhbGV4YTo6cGVyc29uX2lkOnJlYWQiLCJjb250ZXh0IjoiQUFBQUFBQUFBQUJJbzJpUUQrc1VvNitEaEc3V3ZwczZkUUVBQUFBQUFBQXJaQ3d4OGZUcDJ5aTV6bm9iTGwyc1pmNUQ1SFlFRXB6a1NRZE91S1FRYWJaK0ExUU5ZbkJFOFhNTVA2S0dKRVNiTUV1TjNyZFI3a1JRZythZWVBakxFOXJoajdVdWpOeU0vaklwRlpRajI0eEVOcDk0djBsSktYSUwxVHZETi9JRXdmK285aWFwYzRsNk5JL2Jhck4zclRObjJ1UklmcjlKQm9obVhiT3NrcXZIWDRoWlBka0dpOFZSL1pCM3A5bktRRkFIWVE4Z2dIWjFnTDBQSVkvTFRld1FwSU5SdlFrSHhFL1daakZMVGFtdXI3U01sZi9YZXZHVldNaWlTaWNvZlVDQS9NbUxHSGc2RHA1VWllVzZhcVlrUCs4WThBK2VGc3owZlhuTnVkWElGcmQzZnpjUjNRZ2VPN0F2ZHpqSkdxcHRzYzA0U1dMT1duT0VIQXNZVmxUVStMajlxMVlzVCswdXpoSnlIWTZyWTZ2OVl0SmkyVnlWc3ZKam1ZWGVFWVM3c2hnd3pEWXhoa21oRUJKT2tQa0lOYzRNb0g3ZDMyblJjSjlSSENOUzBPeU5STC9hNElzK2NqZnd1QWNsejY4TEpLaFczY21vS1Ixb1JRZndTRU1DcTVNQVhyNVpTM0FFZjVVVVJEVWhzVkJaIiwiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUdOR1lTT1dRQkM1WEtZWERRSTU0RFdETlVCSldZVk1KRllWU0ZRTUtRVDc1MkY3NkVKWU9RWDRTUU5RQ0JLVFQ0UTU1S01FUjNGR1RCSkI3S1JWRVRHWDVFTFZOWEo0WkRPSFU3Nk1DRENMNklIREtYTEc3M0dTTDVLVUpHTVZVWDY1QUxQQlVBTjVaSlJMQk5JV1FPMlZQUEtaRk9OQUxQNjdIQlNFQVQzUTIyQkZXTTJRTyIsInVzZXJJZCI6ImFtem4xLmFzay5hY2NvdW50LkFIWlNCWjNIVTVYR1NMMkdEUkhJSjJJRktYNVA0MkpRV0gzSUZLTUFPMktCWlNOTzQ0VEc0RVhaMk5ZM0I3V1ZSVjNYNktTUU5GQUI2R1VEV05YQzYyTFdQTE83VVlIUERVSzZIQ1lWQTNVWUI3TVZLTTRQT1FPVlpOSEhGWDJPRERVNjNaMkFOUUpIQkE1SENEWTRXMk9LSkk1QUFGQkROSjJJR0tTNUhTVEs3NlZLUElER09SSDJTUE1HUUpKSDRQMklBVkM3QTVTRzdGUSJ9fQ.KpE_f8ovb5qLLZ_XPCc0_OXsBDPRKJoJRT-tVdPIC9XcK8FJAgwdQjx7NdlgLaxgHBLBsktgMLOvFQWuv_ILefW5s_cha6eDApCIk2GK4NSwIcBjR_X7fV3lK1diG5e-L7ommbGwP8lBaCTBUNlIQAJYMg_6jsxTPYV1Hcjq9Qwv05yg6rXZ7ZZlwXKc9KNaueVgR3l88lKWO68JIubObRGEO-VyaUBZ_JblBQm22B3t-liT-V5uDnC5f7D7qwehP4zIQ9I61dEy5WIkveDFLSiut04HKjX2EJ13bjHwKNj-SkzNvNRUtdfKuXKpeeu0x47e2yUTuxkUIZEQUUpUfA"
}
},
"request": {
"type": "LaunchRequest",
"requestId": "amzn1.echo-api.request.de2488f4-4bca-4f36-9b48-5216cb4083fd",
"locale": "en-US",
"timestamp": "2021-10-27T15:18:45Z",
"shouldLinkResultBeReturned": false
}
}
OUTPUT {"ask":{"speech":"Okay! Do you want to document a new symptom or update your symptom log?","reprompt":"Okay! Do you want to document a new symptom or update your symptom log?"}}
<<<<< Response - 2021-10-27T15:18:45.407Z
{
"version": "1.0",
"response": {
"shouldEndSession": false,
"outputSpeech": {
"type": "SSML",
"ssml": "<speak>Okay! Do you want to document a new symptom or update your symptom log?</speak>"
},
"reprompt": {
"outputSpeech": {
"type": "SSML",
"ssml": "<speak>Okay! Do you want to document a new symptom or update your symptom log?</speak>"
}
}
},
"sessionAttributes": {
"_JOVO_STATE_": "Main"
}
}
aswetlow commented 2 years ago

I haven't worked on projects with skill personalization yet. Did you "authorize" for English and Spanish?

The person property is missing in the request with es-US

jasontiw commented 2 years ago

yeah, the person is missing but i don't know how "authorize" English and Spanish, have you idea how do that?

aswetlow commented 2 years ago

Sorry for the late response.

I haven't done the authorization myself. How did you authorize in en-US ?

jasontiw commented 2 years ago

the next is a good guide: https://towardsdatascience.com/how-to-set-up-account-linking-in-amazon-alexa-with-amazon-cognito-oauth2-authorization-grant-122cb1b2caca

https://developer.amazon.com/es/blogs/post/Tx3CX1ETRZZ2NPC/Alexa-Account-Linking-5-Steps-to-Seamlessly-Link-Your-Alexa-Skill-with-Login-wit

let me know if work for you

jankoenig commented 2 years ago

Closing this due to inactivity and as it seems like an issue with the Alexa setup. Please reopen if there's an issue with the Jovo implementation