2017-04-06 115 views
-1

我从的OpenID身份验证服务器的id_token,解码的OpenID id_token - 智威汤逊

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImJlbnVfMTQyNjE1LTEwMDEyMDE3In0.eyJpc3MiOiJodHRwczovL2xvZ2luLnVhdC50ZWxlbmV0LmJlL29wZW5pZCIsImlhdCI6MTQ5MTUwNjU0NCwiYXVkIjoiYmVudSIsInN1YiI6Ijg4ODI1NGU4LWYxZTgtNDk1Ni04NmZhLWE2YzBmNjFhNjQyMSIsInByZWZlcnJlZF91c2VybmFtZSI6Im1hbmFnZXItdGVsZW5ldGxvZ2luQGdtYWlsLmNvbSIsImh0dHA6Ly90ZWxlbmV0LmJlL2NsYWltcy9jdXN0b21lcl9udW1iZXIiOiI5MjkxODY2NDIiLCJodHRwOi8vdGVsZW5ldC5iZS9jbGFpbXMvaWRlbnRpdHkiOiIxMTAwMDE5OSIsImdpdmVuX25hbWUiOiJNYW5hZ2VyMSIsImZhbWlseV9uYW1lIjoiVGVsZW5ldCBsb2dpbjEiLCJodHRwOi8vdGVsZW5ldC5iZS9jbGFpbXMvY3JlZGVudGlhbCI6IjEzNTkxMDc0IiwiZXhwIjoxNDkxNTA4MzQ0LCJhdXRoX3RpbWUiOjE0OTE1MDY1NDQsIm5vbmNlIjoiMzg5MDkxMzYtZDZiZC00ZjZmLThkNTYtMGM1ZDJhMGZkYjRjIiwiaHR0cDovL3RlbGVuZXQuYmUvY2xhaW1zL3JvbGVzIjpbeyJuYW1lIjoiTWVtYmVyIiwicmVmZXJlbmNlcyI6W3sibmFtZSI6IkRUVmxpbmUiLCJ2YWx1ZSI6IkRUVjE1NDg0NjEiLCJkb21haW4iOiJPQVNJUyIsImVudGl0eSI6IklkZW50aXR5In0seyJuYW1lIjoiQ3VzdG9tZXJfTnVtYmVyIiwidmFsdWUiOiI5MjkxODY2NDIiLCJkb21haW4iOiJPQVNJUyIsImVudGl0eSI6IkN1c3RvbWVyIn1dfV19.NB_Rziv2d5OxDAvs0qQI0m_6Q2DG22DkTKsstNMHiWqFo_LmrmuvsXASnaH3MY7XCwXl0wrTsM5C6rVQiVKmvtIHvAd8TmMfiXIcgnvP-R43wEOXoyATyWEYMw_KWmJkqnanFgEDYpeNeCglO864fLXcjZ9VLpEnerHKtdLjWAL13qhy1kK38UlHeCvAB-sUp62-EBvUfVLj2WCOh011myZZqqc83-HwHk0ddXT74JTm6gCkF0IVal9Ui7ikJ6xlsrp3IR2hNG805D-cIoGf5nk3CDRfO1tGeV1m-bI79wTt_KyOlf3pc30ey0oFdFp0Zo0BurjDebh0LpTUCYi5cQ 

当我测试它解码:

https://jwt.io/

enter image description here

我想知道,如果有方法以编程方式实现此解码?

是否有Laravel框架可以帮助我实现这一目标?

我希望能够在我的id_token上获得有效负载。

+0

当您向下滚动时,您链接的页面有6个PHP库。我错过了什么吗? – apokryfos

回答

1

JWT由3个由点分开的部分组成。头部和有效载荷只是base64编码的JSON结构。该解决方案应该是这样的:

$jwt_payload = base64_decode('base64_string'); 

检查也是这个问题How to decode base64 in laravel 5.3有关如何在laravel解码Base64编码数据。希望这可以帮助。

2

我推荐此图书馆:https://github.com/lcobucci/jwt

可以实例Lcobucci\JWT\Parser和令牌字符串

$parser = \Lcobucci\JWT\Parser(); 
$parsedToken = $this->parser->parse($token); 

调用parse()方法然后$parsedTokenLcobucci\JWT\Token类的一个对象,你可以调用getClaims()方法来获取所有信息,你有你的单词内。

+0

该框架没有告诉我们如何使用它。 :( – ihue

+0

好吧,所以基本上README说,你可以在这里找到文档:https://github.com/lcobucci/jwt/blob/3.2/README.md你可以在那里代码示例是不言自明的 – jedruniu