actix-jwt-auth-middleware
actix-jwt-auth-middleware copied to clipboard
jwt_compact::traits::Algorithm is not implemented for Ed25519
I am currently receiving the error mentioned above when I try to compile code utilizing a TokenSigner, however did not receive any such error when using a CookieSigner. This only began after recently updating to version 0.3.0. My code is as follows:
let token_signer = TokenSigner::<UserJWT, _>::new()
.signing_key(key_pair.sk.clone())
.access_token_name("user_access_token")
//Token's lifespan is 2 hours, then requires reauthentication
.refresh_token_lifetime(chrono::Duration::minutes(120))
.algorithm(Ed25519)
.build()
.unwrap();
The full error output is as follows (this output is also produced if I copy and paste the example code on docs.rs for a TokenSigner):
error[E0277]: the trait bound `Ed25519: jwt_compact::traits::Algorithm` is not satisfied
--> src/main.rs:157:24
|
157 | let token_signer = TokenSigner::<UserJWT, _>::new()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `jwt_compact::traits::Algorithm` is not implemented for `Ed25519`
|
= help: the following other types implement trait `jwt_compact::traits::Algorithm`:
jwt_compact::alg::StrongAlg<T>
jwt_compact::alg::hmacs::Hs256
jwt_compact::alg::hmacs::Hs384
jwt_compact::alg::hmacs::Hs512
jwt_compact::traits::Renamed<A>
note: required by a bound in `TokenSigner::<Claims, Algorithm>::new`
--> /home/me/.cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-jwt-auth-middleware-0.3.0/src/token_signer.rs:129:16
|
129 | Algorithm: jwt_compact::Algorithm + Clone,
| ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `TokenSigner::<Claims, Algorithm>::new`
error[E0277]: the trait bound `Ed25519: jwt_compact::traits::Algorithm` is not satisfied
--> src/main.rs:157:24
|
157 | let token_signer = TokenSigner::<UserJWT, _>::new()
| ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `jwt_compact::traits::Algorithm` is not implemented for `Ed25519`
|
= help: the following other types implement trait `jwt_compact::traits::Algorithm`:
jwt_compact::alg::StrongAlg<T>
jwt_compact::alg::hmacs::Hs256
jwt_compact::alg::hmacs::Hs384
jwt_compact::alg::hmacs::Hs512
jwt_compact::traits::Renamed<A>
note: required by a bound in `TokenSigner`
--> /home/me/.cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-jwt-auth-middleware-0.3.0/src/token_signer.rs:57:11
|
57 | Algo: Algorithm,
| ^^^^^^^^^ required by this bound in `TokenSigner`
error[E0277]: the trait bound `Ed25519: jwt_compact::traits::Algorithm` is not satisfied
--> src/main.rs:158:10
|
158 | .signing_key(key_pair.sk.clone())
| ^^^^^^^^^^^ the trait `jwt_compact::traits::Algorithm` is not implemented for `Ed25519`
|
= help: the following other types implement trait `jwt_compact::traits::Algorithm`:
jwt_compact::alg::StrongAlg<T>
jwt_compact::alg::hmacs::Hs256
jwt_compact::alg::hmacs::Hs384
jwt_compact::alg::hmacs::Hs512
jwt_compact::traits::Renamed<A>
note: required by a bound in `TokenSignerBuilder::<Claims, Algo>::signing_key`
--> /home/me/.cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-jwt-auth-middleware-0.3.0/src/token_signer.rs:57:11
|
57 | Algo: Algorithm,
| ^^^^^^^^^ required by this bound in `TokenSignerBuilder::<Claims, Algo>::signing_key`
error[E0277]: the trait bound `Ed25519: jwt_compact::traits::Algorithm` is not satisfied
--> src/main.rs:159:10
|
159 | .access_token_name("user_access_token")
| ^^^^^^^^^^^^^^^^^ the trait `jwt_compact::traits::Algorithm` is not implemented for `Ed25519`
|
= help: the following other types implement trait `jwt_compact::traits::Algorithm`:
jwt_compact::alg::StrongAlg<T>
jwt_compact::alg::hmacs::Hs256
jwt_compact::alg::hmacs::Hs384
jwt_compact::alg::hmacs::Hs512
jwt_compact::traits::Renamed<A>
note: required by a bound in `TokenSignerBuilder::<Claims, Algo>::access_token_name`
--> /home/me/.cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-jwt-auth-middleware-0.3.0/src/token_signer.rs:57:11
|
57 | Algo: Algorithm,
| ^^^^^^^^^ required by this bound in `TokenSignerBuilder::<Claims, Algo>::access_token_name`
error[E0277]: the trait bound `Ed25519: jwt_compact::traits::Algorithm` is not satisfied
--> src/main.rs:161:10
|
161 | .refresh_token_lifetime(chrono::Duration::minutes(120))
| ^^^^^^^^^^^^^^^^^^^^^^ the trait `jwt_compact::traits::Algorithm` is not implemented for `Ed25519`
|
= help: the following other types implement trait `jwt_compact::traits::Algorithm`:
jwt_compact::alg::StrongAlg<T>
jwt_compact::alg::hmacs::Hs256
jwt_compact::alg::hmacs::Hs384
jwt_compact::alg::hmacs::Hs512
jwt_compact::traits::Renamed<A>
note: required by a bound in `TokenSignerBuilder::<Claims, Algo>::refresh_token_lifetime`
--> /home//.cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-jwt-auth-middleware-0.3.0/src/token_signer.rs:57:11
|
57 | Algo: Algorithm,
| ^^^^^^^^^ required by this bound in `TokenSignerBuilder::<Claims, Algo>::refresh_token_lifetime`
error[E0277]: the trait bound `Ed25519: jwt_compact::traits::Algorithm` is not satisfied
--> src/main.rs:162:10
|
162 | .algorithm(Ed25519)
| ^^^^^^^^^ the trait `jwt_compact::traits::Algorithm` is not implemented for `Ed25519`
|
= help: the following other types implement trait `jwt_compact::traits::Algorithm`:
jwt_compact::alg::StrongAlg<T>
jwt_compact::alg::hmacs::Hs256
jwt_compact::alg::hmacs::Hs384
jwt_compact::alg::hmacs::Hs512
jwt_compact::traits::Renamed<A>
note: required by a bound in `TokenSignerBuilder::<Claims, Algo>::algorithm`
--> /home/me/.cargo/registry/src/index.crates.io-6f17d22bba15001f/actix-jwt-auth-middleware-0.3.0/src/token_signer.rs:57:11
|
57 | Algo: Algorithm,
| ^^^^^^^^^ required by this bound in `TokenSignerBuilder::<Claims, Algo>::algorithm`
error[E0599]: the method `build` exists for struct `TokenSignerBuilder<UserJWT, Ed25519>`, but its trait bounds were not satisfied
--> src/main.rs:163:10
|
157 | let token_signer = TokenSigner::<UserJWT, _>::new()
| ________________________-
158 | | .signing_key(key_pair.sk.clone())
159 | | .access_token_name("user_access_token")
160 | | //Token's lifespan is 2 hours, then requires reauthentication
161 | | .refresh_token_lifetime(chrono::Duration::minutes(120))
162 | | .algorithm(Ed25519)
163 | | .build()
| | -^^^^^ method cannot be called on `TokenSignerBuilder<UserJWT, Ed25519>` due to unsatisfied trait bounds
| |_________|
|
|
::: /home/me/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jwt-compact-0.8.0-beta.1/src/alg/eddsa_compact.rs:36:1
|
36 | pub struct Ed25519;
| ------------------ doesn't satisfy `Ed25519: jwt_compact::traits::Algorithm`
|
= note: the following trait bounds were not satisfied:
`Ed25519: jwt_compact::traits::Algorithm`