Php 解码OpenID_令牌-JWT
我有一个来自OpenID身份验证服务器的id_令牌Php 解码OpenID_令牌-JWT,php,laravel,laravel-5,laravel-5.1,jwt,Php,Laravel,Laravel 5,Laravel 5.1,Jwt,我有一个来自OpenID身份验证服务器的id_令牌 eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImJlbnVfMTQyNjE1LTEwMDEyMDE3In0.eyJpc3MiOiJodHRwczovL2xvZ2luLnVhdC50ZWxlbmV0LmJlL29wZW5pZCIsImlhdCI6MTQ5MTUwNjU0NCwiYXVkIjoiYmVudSIsInN1YiI6Ijg4ODI1NGU4LWYxZTgtNDk1Ni04NmZhLWE2YzBm
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImJlbnVfMTQyNjE1LTEwMDEyMDE3In0.eyJpc3MiOiJodHRwczovL2xvZ2luLnVhdC50ZWxlbmV0LmJlL29wZW5pZCIsImlhdCI6MTQ5MTUwNjU0NCwiYXVkIjoiYmVudSIsInN1YiI6Ijg4ODI1NGU4LWYxZTgtNDk1Ni04NmZhLWE2YzBmNjFhNjQyMSIsInByZWZlcnJlZF91c2VybmFtZSI6Im1hbmFnZXItdGVsZW5ldGxvZ2luQGdtYWlsLmNvbSIsImh0dHA6Ly90ZWxlbmV0LmJlL2NsYWltcy9jdXN0b21lcl9udW1iZXIiOiI5MjkxODY2NDIiLCJodHRwOi8vdGVsZW5ldC5iZS9jbGFpbXMvaWRlbnRpdHkiOiIxMTAwMDE5OSIsImdpdmVuX25hbWUiOiJNYW5hZ2VyMSIsImZhbWlseV9uYW1lIjoiVGVsZW5ldCBsb2dpbjEiLCJodHRwOi8vdGVsZW5ldC5iZS9jbGFpbXMvY3JlZGVudGlhbCI6IjEzNTkxMDc0IiwiZXhwIjoxNDkxNTA4MzQ0LCJhdXRoX3RpbWUiOjE0OTE1MDY1NDQsIm5vbmNlIjoiMzg5MDkxMzYtZDZiZC00ZjZmLThkNTYtMGM1ZDJhMGZkYjRjIiwiaHR0cDovL3RlbGVuZXQuYmUvY2xhaW1zL3JvbGVzIjpbeyJuYW1lIjoiTWVtYmVyIiwicmVmZXJlbmNlcyI6W3sibmFtZSI6IkRUVmxpbmUiLCJ2YWx1ZSI6IkRUVjE1NDg0NjEiLCJkb21haW4iOiJPQVNJUyIsImVudGl0eSI6IklkZW50aXR5In0seyJuYW1lIjoiQ3VzdG9tZXJfTnVtYmVyIiwidmFsdWUiOiI5MjkxODY2NDIiLCJkb21haW4iOiJPQVNJUyIsImVudGl0eSI6IkN1c3RvbWVyIn1dfV19.NB_Rziv2d5OxDAvs0qQI0m_6Q2DG22DkTKsstNMHiWqFo_LmrmuvsXASnaH3MY7XCwXl0wrTsM5C6rVQiVKmvtIHvAd8TmMfiXIcgnvP-R43wEOXoyATyWEYMw_KWmJkqnanFgEDYpeNeCglO864fLXcjZ9VLpEnerHKtdLjWAL13qhy1kK38UlHeCvAB-sUp62-EBvUfVLj2WCOh011myZZqqc83-HwHk0ddXT74JTm6gCkF0IVal9Ui7ikJ6xlsrp3IR2hNG805D-cIoGf5nk3CDRfO1tGeV1m-bI79wTt_KyOlf3pc30ey0oFdFp0Zo0BurjDebh0LpTUCYi5cQ
当我测试解码时:
我得到
我想知道,是否有一种方法可以通过编程实现这种解码
是否有一个Laravel框架可以帮助我实现这一点
我希望能够根据我的id_令牌获取有效负载。JWT由3个部分组成,由一个点分隔。报头和负载只是base64编码的JSON结构。解决方案应该是这样的:
$jwt_payload = base64_decode('base64_string');
还要检查这个关于如何在laravel中解码Base64编码数据的问题。希望这有帮助。我推荐这个库:
您可以实例化Lcobucci\JWT\Parser
并对令牌字符串调用parse()
方法
$parser = \Lcobucci\JWT\Parser();
$parsedToken = $this->parser->parse($token);
然后,
$parsedToken
将是Lcobucci\JWT\Token
类的一个对象,您可以在该类上调用getClaims()
方法来获取令牌中的所有信息。该框架没有向我们展示如何使用它:(好的,基本上自述文件说你可以在这里找到文档:你可以在这里找到自我解释的代码示例当你向下滚动时,你链接的页面上提到了6个PHP库。我遗漏了什么吗?