项目作者: qq1060656096

项目描述 :
go auth
高级语言: Go
项目地址: git://github.com/qq1060656096/token.git
创建时间: 2020-03-26T12:55:19Z
项目社区:https://github.com/qq1060656096/token

开源协议:MIT License

下载


Token

快速生成和刷新 Auth Token

使用示例

  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/qq1060656096/token"
  6. )
  7. func main() {
  8. var expires int64 = 7200000000
  9. signingKey := "123456"
  10. data := "api token data"
  11. // 创建token
  12. apiTokenData, err := token.CreateApiToken(expires, signingKey, data)
  13. if err != nil {
  14. // error todo
  15. }
  16. jsonBytes, err := json.Marshal(apiTokenData)
  17. if err != nil {
  18. // error todo
  19. }
  20. fmt.Println("CreateApiToken", string(jsonBytes))
  21. /**
  22. CreateApiToken
  23. {
  24. "access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjcyMDAwMDAwMDAsImlzcyI6ImV5SlNZWGRFWVhSaElqb2lZWEJwSUhSdmEyVnVJR1JoZEdFaUxDSlViMnRsYmxSNWNHVWlPaUpDWldGeVpYSWlMQ0pVYVcxbGMzUmhiWEFpT2pFMk1EQXdPVEV4Tnpnc0lrVjRjR2x5WlhNaU9qY3lNREF3TURBd01EQXNJbEpsWm5KbGMyZ2lPbVpoYkhObExDSlRhV2R1WVhSMWNtVWlPaUlpZlE9PS5TR0ptVlV0d1pXTjFZM0U1TURCcExYb3pVbXBDWWtodmNVeDRNWE5IUkhCaFNXdHhRMmgwWW1kT1ZRPT0ifQ.JfIgN-I55vnullHTZ9EJVwVlGJX4bB4mdGYo9VJOOL8",
  25. "token_type":"Bearer",
  26. "expires_in":7200000000,
  27. "refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjcyMDAwMDAwMDAsImlzcyI6ImV5SlNZWGRFWVhSaElqb2lZWEJwSUhSdmEyVnVJR1JoZEdFaUxDSlViMnRsYmxSNWNHVWlPaUpDWldGeVpYSWlMQ0pVYVcxbGMzUmhiWEFpT2pFMk1EQXdPVEV4Tnpnc0lrVjRjR2x5WlhNaU9qY3lNREF3TURBd01EQXNJbEpsWm5KbGMyZ2lPblJ5ZFdVc0lsTnBaMjVoZEhWeVpTSTZJaUo5LlJucEJXR05KVFcxeloweEtkSGcwU0V4S04wZGljMDV4YkRsYVlsUlFlWEZyVm1OamFFZzVNVkppZHc9PSJ9.xnp-jINwlu42Ty1UDUAJjJVHQcCebMJENAj_juNn5DI"
  28. }
  29. */
  30. // 刷新token
  31. refreshTokenStr := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjcyMDAwMDAwMDAsImlzcyI6ImV5SlNZWGRFWVhSaElqb2lZWEJwSUhSdmEyVnVJR1JoZEdFaUxDSlViMnRsYmxSNWNHVWlPaUpDWldGeVpYSWlMQ0pVYVcxbGMzUmhiWEFpT2pFMk1EQXdPVEV4Tnpnc0lrVjRjR2x5WlhNaU9qY3lNREF3TURBd01EQXNJbEpsWm5KbGMyZ2lPblJ5ZFdVc0lsTnBaMjVoZEhWeVpTSTZJaUo5LlJucEJXR05KVFcxeloweEtkSGcwU0V4S04wZGljMDV4YkRsYVlsUlFlWEZyVm1OamFFZzVNVkppZHc9PSJ9.xnp-jINwlu42Ty1UDUAJjJVHQcCebMJENAj_juNn5DI"
  32. apiTokenData, err = token.RefreshApiToken(expires, signingKey, refreshTokenStr)
  33. if err != nil {
  34. // error todo
  35. }
  36. jsonBytes, err = json.Marshal(apiTokenData)
  37. if err != nil {
  38. // error todo
  39. }
  40. fmt.Println("RefreshApiToken", string(jsonBytes))
  41. /**
  42. RefreshApiToken
  43. {
  44. "access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjcyMDAwMDAwMDAsImlzcyI6ImV5SlNZWGRFWVhSaElqcDdJbEpoZDBSaGRHRWlPaUpoY0drZ2RHOXJaVzRnWkdGMFlTSXNJbFJ2YTJWdVZIbHdaU0k2SWtKbFlYSmxjaUlzSWxScGJXVnpkR0Z0Y0NJNk1UWXdNREE1TVRFM09Dd2lSWGh3YVhKbGN5STZOekl3TURBd01EQXdNQ3dpVW1WbWNtVnphQ0k2ZEhKMVpTd2lVMmxuYm1GMGRYSmxJam9pSW4wc0lsUnZhMlZ1Vkhsd1pTSTZJa0psWVhKbGNpSXNJbFJwYldWemRHRnRjQ0k2TVRZd01EQTVNVEkzTXl3aVJYaHdhWEpsY3lJNk56SXdNREF3TURBd01Dd2lVbVZtY21WemFDSTZabUZzYzJVc0lsTnBaMjVoZEhWeVpTSTZJaUo5LmNYVkRlbGQ2V25JMlJHMU5aRkkxWVcxbU1tWldiak5hTVdSUE9IRlhSVmRIV1dGVVNXSTFkR2RpU1E9PSJ9.ffmMCUMsyZB36xweTpN-vrt4Tq7358RW4eKkPhigQoc",
  45. "token_type":"Bearer",
  46. "expires_in":7200000000,
  47. "refresh_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjcyMDAwMDAwMDAsImlzcyI6ImV5SlNZWGRFWVhSaElqb2lZWEJwSUhSdmEyVnVJR1JoZEdFaUxDSlViMnRsYmxSNWNHVWlPaUpDWldGeVpYSWlMQ0pVYVcxbGMzUmhiWEFpT2pFMk1EQXdPVEV5TnpNc0lrVjRjR2x5WlhNaU9qY3lNREF3TURBd01EQXNJbEpsWm5KbGMyZ2lPblJ5ZFdVc0lsTnBaMjVoZEhWeVpTSTZJaUo5LloyWmhhRFZGZDJReVJIbGtRMnB1TFZOT2EwdDNSelpqUzFrMGNqbHZialpTWm1JNWNGTXhaRWx0WXc9PSJ9.EeOnpLZXZ47cAYVxdView7ifJuIGEdSLyjpC8pTmH4c"
  48. }
  49. */
  50. }