Как исправить «Этот токен не подписан» при использовании Laravel access_token - PullRequest
0 голосов
/ 13 мая 2019

Я хочу создать API для отдыха Laravel с помощью токена Laravel Passport. Я генерирую access_token с моим секретным ключом клиента и получаю токен доступа, но когда я хочу получить доступ к API с помощью токена доступа, всегда получаю сообщение "exception 'BadMethodCallException' with message 'This token is not signed' in /vendor/lcobucci/jwt/src/Token.php:194". как решить эту ошибку?

Я пытался сгенерировать новый ключ, очистить кеш с помощью php artisan cache:clear, но не сработало

Это мой код для генерации токена 1. Сгенерируйте токен доступа с секретным ключом клиента

URL: https://xxxxx/oauth/token

Параметр

{
    "grant_type":"client_credentials",
    "client_id":"41",
    "scope":"*",
    "client_secret":"CFprIY1qWznahoKDMomTAqLUx6IALfWR0xLwKjwA"
}

Ответ

{
    "token_type": "Bearer",
    "expires_in": 300,
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjIxYTg4NzQ2YmE1N2U5OGE3NDZlZDg5MmUyYjU3ZmZkOGFkNjJlYWZiMWNjMzk0MDU2NGQ1N2ZjZjE2MDcwYzFjMjYwYTE1MGU1N2MzYzQyIn0.eyJhdWQiOiI0MSIsImp0aSI6IjIxYTg4NzQ2YmE1N2U5OGE3NDZlZDg5MmUyYjU3ZmZkOGFkNjJlYWZiMWNjMzk0MDU2NGQ1N2ZjZjE2MDcwYzFjMjYwYTE1MGU1N2MzYzQyIiwiaWF0IjoxNTU3NzMzMzc2LCJuYmYiOjE1NTc3MzMzNzYsImV4cCI6MTU1NzczMzY3Niwic3ViIjoiIiwic2NvcGVzIjpbXX0.GGKOd-WRBT-UNmdDJe2WdUmatrumbwlDLlP0f1LKrAikU3JhwG8xkD4iLDUwmcaT5S37-GUSrdWjI3nnzNkAyFexLLJH7Vr6n7QsskWLH80ZR5mTaFXLgmsprp15UeoXm3op52Pa-Hq2mqx3C_nxQNxLElF68obApVhuYDLd2u46YP0b_DoYJqqg85sLGHyUsC95ofkMytmMc_aVoiOS1UmAoSn597p5ovJ3F47MakyuezduBvFWlA4wKxsW1wHjRe_4AkldzGhif16p_lbdBNg2HR-zQXYkmMHBjqLUd17R3w7fyOi5C_Z02gEkH78KqPP2KcbdJWhneLM_MpzkdYpTZVAI-F3NmCG1IehTa9MkSpbMMfLw0MZwsoCEv6mh20R6gZE6TnvZ3emcFstbgrjxIdbSOWaohqUPtSobrDDI-wsP9RqSgRJP3EWqQKnXG_Qbz8C6J3IZxcYERnSumVdoerpHNF5ZdtgqO4kGeROZ49mc3osr3ZkY0jwS40zNIoiNTlH1GqDuYReFZ12ua07DqAxRkRLmmKPscIO8Gwe06VBYuBcrPCNnwsvzNLfCeFNlN0Hnw6eYuSQKriua7g_e1EyZKwlrF4d52NtcSe455EuaeM1XzFirCGywabtV6PhaK-lk8E7Ot-ULfiUiMkvJy2TmhLvGhE4scYTkLVQ"
}
  1. Доступ к API

URL: https://xxxxx/api/loginApi

Header : Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImZhZGZjZTRlZjA0NDdlNzliNmY1MjlkNzRjZjY3MTlkMWNjNDY1ZGMwNjE2MmY1NzM2YWZlNjcwMjNkNTkxMmVkNjA2OTJlZTIxNmRjMmRlIn0.eyJhdWQiOiIyIiwianRpIjoiZmFkZmNlNGVmMDQ0N2U3OWI2ZjUyOWQ3NGNmNjcxOWQxY2M0NjVkYzA2MTYyZjU3MzZhZmU2NzAyM2Q1OTEyZWQ2MDY5MmVlMjE2ZGMyZGUiLCJpYXQiOjE1NTc3MzM0MzcsIm5iZiI6MTU1NzczMzQzNywiZXhwIjoxNTg5MzU1ODM3LCJzdWIiOiIzODMiLCJzY29wZXMiOltdfQ.wYdEtWtawtZvhW4aG-O1Jb0YkoOyD_p_iNOLJg0AT9zoTBzVrOAioj_0SbRWc1DfbR4Srxnsjc13Z1G_G2803ekWrO72WYvQN21NGasXbH8FtRUaXFoE5qh-Pv2jtuwj3SeEcezmhOiqNKnSxo-9FvcNMTirDILZmSxOaVShQMv7St683nkPthH2b14afqfJb2QowJDHIzoMryt92OGCis6DtjxDb8Au7y0XotJwTU8IyZHumH3EF-hu8Yn3o0VEQbeOBVsjpqGKc_VYYeAdp9FbEg804TVPaVlfVbHRripqPKXOv8JmkE4vxGBS-abtrBQmRfU-jNgmTvkcVHSAWyycLKY8NiRUmWwFHly-IfviWxDnOEOYVDzY5ZaP0TGapZRpQEVBW12QauGtlxZ76NOxb9RZVX_dTgfXvS22icGW0XJPPM8eobYeyzwZvpBovBnCxJxKp_EgJZPeTG1bBzwderp1b3OXNc2gF_U2iUAxAIMohKKAe0JFzNe0bmsueQOLul8jc9ZjxP2Km2a5OHxnvTK_5dBWFN62yuGkJb8JJz5U5beUTbIaPPmJqu7n8rqyz3E5IGmxQUH0XES_ZMayMrvwI03PLQVmtngCb2MeOZjxRll3GtJGlpXYhoTPCeyQz7m-VWaCkNgfohEtt-1W7tGU8X_sMwNwyKRhzjM
[{"key":"Accept","value":"application/json","description":"","type":"text","enabled":true}]

Результат: development.ERROR: exception 'BadMethodCallException' with message 'This token is not signed' in /xxxxxxvendor/lcobucci/jwt/src/Token.php:194

1 Ответ

0 голосов
/ 13 мая 2019

Я думаю, что вы пропустили черты HasApiTokens в User.php

Пожалуйста, добавьте черты, как показано ниже

use HasApiTokens,Notifiable;
...