我有一个Larvel API,它使用Tymon\JWTAuth对用户进行身份验证。
它工作得很好。
出于某些原因,我在web.php
中还有一个非防护路由:
Route::get('myroute', 'MyController@mymethod');
MyController@mymethod代码如下:
$user = JWTAuth::toUser($request->input('token'));
// I tried also this:
// JWTAuth::setToken($request->input('token'));
// $user = JWTAuth::authenticate();
我在浏览器中使用此url调用路由:/myroute?token=eyJ0eXAiOiJKV1QiLCJhbGci….
问题是我在JWT.php中有一个异常:
Tymon\JWTAuth\Exceptions\JWTException需要令牌
jwt. php
protected function requireToken()
{
if (! $this->token) {
throw new JWTException('A token is required');
}
}
我如何解码作为URL参数传递而不在请求头中的令牌?
我用这个代码解决了它:
use Namshi\JOSE\SimpleJWS;
$secret = config('jwt.secret');
$jws = SimpleJWS::load($token);
if (!$jws->isValid($secret)) {
return response()->json([], 401); // unauthorized
}
$payload = $jws->getPayload();
但是我更喜欢直接使用JWTAuth
而不是
$user = JWTAuth::toUser($request->input('token'));
使用
$user = $this->jwt->User();
如果您使用的是jwt auth dev,旧版本中的toUser方法将删除上述错误,请尝试以下操作:
// Get the currently authenticated user
$user = auth()->user();
如果用户没有经过身份验证,则返回null。
我安装了laravel 5.6并配置了tymon jwtauth令牌。 一切都很好。 在laravel 5.1中,我使用此函数将函数从jwt身份验证中排除: 还审判了: 它在拉威尔5.6里不起作用,知道吗?我想排除登录功能,这样用户就可以登录、获取令牌并在每次请求时发送它。
除了我不想使用Laravel的用户身份验证系统(相反,我使用自己的)之外,我正在构建一个Restful api。 所以我被困在这里: 这给了我以下错误: 类型错误:传递给Illumb\Auth\EloquentUserProvider::validateCredentials()的参数1必须是Illumb\Contracts\Auth\Authenticatable的实例,App\User给定的实
在Android>Sample app>Trivial Drive中,当运行应用程序时,我在执行IAP时得到以下信息: 我在手机上用测试帐户(即我在开发人员控制台中指定的测试电子邮件地址)切换到了一个单独的帐户,并遵循了以下所有步骤: https://android.stackExchange.com/questions/20369/geting-authentication-is-require
错误为 严重:路径为[/HelloWorld]的上下文中servlet[jsp]的servlet.service()引发异常[无法为jsp编译类: 在生成的Java文件[f:\Java EE project.metadata.plugins\org.eclipse.wst.server.core\tmp0\work\catalina\localhost\helloworld\org\apache\
这是我的logcat: java.lang.runtimeException:无法启动活动ComponentInfo{com.example.murarilal.listview/com.example.murarilal.listview.mainactivity}:java.lang.securityException:权限拒绝:读取com.android.providers.media.me