2017-04-06 118 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