我的bootstrap / app.php上有以下内容
$app->bind(Auth0\SDK\JWTVerifier::class, function ($app) {
return new Auth0\SDK\JWTVerifier([
'supported_algs' => ['RS256'],
'valid_audiences' => [
getenv('AUTH0_AUDIENCE'),
getenv('AUTH0_AUDIENCE_WEB_APP'),
getenv('AUTH0_AUDIENCE_IOS')
],
'authorized_iss' => [ 'https://' . getenv('AUTH0_DOMAIN') .'/'] // ['AUTH0_DOMAIN']
]);
});
在我的一次测试中,我想将此绑定替换为Mock类,所以我这样做:
$this->app->instance(Auth0\SDK\JWTVerifier::class, $jwt_verifier);
但它仍然绑定第一个绑定。我在使用ServiceProviders进行$ app->绑定过程时遇到了问题。不确定这是否相关,但我无法弄清楚如何解决这个问题。
答案 0 :(得分:0)
您必须重新绑定容器中的绑定,这对我有用:
$this->app->bind(Auth0\SDK\JWTVerifier::class, function ($app) use ($jwt_verifier) {
return $jwt_verifier;
});