I am continuing to fumble my way through authentication. When I get my oauth token I am trying to decode the id_token using the biscuit library. I keep getting a strange error about missing field access_token.
struct OauthToken {
access_token: String,
id_token: String,
token_type: String,
scope: String,
expires_in: u32,
}
I take the OauthToken and pass it to
JWT::<_, biscuit::Empty>::new_encoded(&token.id_token)
I then attempt to pass the encoded id_token to the decode function provided by biscuit:
encoded.decode(&(Secret::Bytes("secret".to_string().into_bytes())), SignatureAlgorithm::RS256)
Which gives the error
thread 'tokio-runtime-worker-1' panicked at 'internal error: entered unreachable code: This is a private method and should not be called erroneously.'
followed by
Err(Error { kind: Json(Error("missing field
access_token
", line: 1, column: 74)), url: None })
What am I doing wrong with the biscuit functions that I took directly from the example?
BTW I am printing the oauthtoken to stdout and it is valid
OauthToken { access_token: "NzY0g98XJ1bU5PitDy5Z9QVXTXLf5IL2", id_token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6Ik1EUkZRVGt4TkVNM1JEQXhOemN6T1RkR00wTTRNRVZFUWpGQlFqWXlNREUwTXpoRk1UZEZOQSJ9.eyJnaXZlbl9uYW1lIjoiTWF0dGhldyIsImZhbWlseV9uYW1lIjoiU3RldmVuc29uIiwibmlja25hbWUiOiJzdGV2ZW5zb25tdCIsIm5hbWUiOiJNYXR0aGV3IFN0ZXZlbnNvbiIsInBpY3R1cmUiOiJodHRwczovL2xoMy5nb29nbGV1c2VyY29udGVudC5jb20vLV9pSFM4U01HcUhBL0FBQUFBQUFBQUFJL0FBQUFBQUFBQWJFL0h1ZGVicVExSUY0L3Bob3RvLmpwZyIsImdlbmRlciI6Im1hbGUiLCJsb2NhbGUiOiJlbiIsInVwZGF0ZWRfYXQiOiIyMDE5LTAxLTIzVDE0OjI0OjM5LjExN1oiLCJpc3MiOiJodHRwczovL2xpc3RvcGYuYXV0aDAuY29tLyIsInN1YiI6Imdvb2dsZS1vYXV0aDJ8MTExNDAxOTgyODA0MzEzNDIxODkyIiwiYXVkIjoibzZvakw2ZllVTEFpTzhhMjRzc2xhSVprRTVuZHFsSHoiLCJpYXQiOjE1NDgzNDExNDMsImV4cCI6MTU0ODM3NzE0M30.lxLb-6b4gkRP_NPWEZBYR5IEF0vLQPD3FFJOTbRthGB0icOLGNE9EH6xvsBgN_4OGqvahkLsz7pH69-_3ZwEF5JosIuDDzaxk6C3ePnlo7NZPY6CmHjiq2sayIzYz6Ce6w5hMuXPKT1eGwaPSNlZphgDt9iPGH4nZ66tV7wU7mtUG997mY7n_I1aS234q7MqA57nGihBTyPB6Jr41FsL1eNqEHEJ6snqb2UkqDr6dQUe3ZQ2v-q2GPVXet1NP6K8Ksa3wGTo5jC1kXHBAhQoycWqHgWLxnyUEAyc4tHLa1i8EXSE7JMfTlIfWbAhSin18KIVmvFAdVVLVjlwpKP9bA", token_type: "Bearer", scope: "openid profile", expires_in: 86400 }