tzssangglass opened a new issue #2523:
URL: https://github.com/apache/apisix/issues/2523


   ### Issue description
   I didn't find documentation for using the RS256 algorithm in the jwt 
plugin.After try, I achieved it.
   
   
   step1: set a consumer and config the value of the jwt-auth option,  use the 
private key here.
   
   ```
   curl http://127.0.0.1:9080/apisix/admin/consumers -H 'X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
   
   {
       "username": "RS256_algorithm",
       "plugins": {
           "jwt-auth": {
               "key": "RS256-key",
               "secret": "-----BEGIN RSA PRIVATE 
KEY-----\nMIICXwIBAAKBgQC50wrZORquQ1W6xS66Hvx9PA/Yp1kL4GosLCDYCFFeuyHemdZC\neDW+jzTfjdfDAExsZ4Z5/gNegOZC3nEIh/IDoEJHHMwziTz1jxh/7VXuFGvdZcIi\naPpKS6EZ+dVx/NfYMcyY+1gf1ASxJghOD+9Np7IepqKuAqxx1BVnk+rvmwIDAQAB\nAoGBAKqZ3vPfQWeL2kFGlse5ewVfBw1ZVp9YwSEcwmqT+GCIXWgIxHTx+CWjRF+Z\n0eTteTxtL0EAvAcfQEdUAWJbrQumsWR1hcWauDwbCRKH5zHCByT6TcJXZ4V5LjhY\neS8EcEruX+vIOwUt7Kr2mAjMy5nwtzhO6OFEmjFBlTLQwfWBAkEA2sXq/PP4cRDZ\nHQWD/d0fTtiHp54L078EAfzdCRhrDFlzAZCCyjANEsGgLJ/Ojjut7Nj0uLmyRMyW\n03j1s6nkUwJBANlx1CWn2XilMHrm6kyx2S6lptCuF7ff0+IDmynHlMCAx9YXApXh\nUbikerduA8q6gUgRL58kG04/v+0UcbbpXpkCQQCexC1yH3f4TfrSdfNBI90ZskhY\nW3lH1QMKkkCy3hap4qx0wTQ5mT+TkhM071DOpf7luNl4ycLW7Qa0N79QAIZjAkEA\nlvlYofiDnyeanIq9vRhywdeUFin6H9nRpIh6cCy5lFsV5Qi+68+wzPGunrNNALIz\n1xTPqsAIEXFj0bkzJxuraQJBAKKRBmn5pCJ5AckXQdsJz5oRBpSrizrsJrbwVHGx\nAZ0Yyd5HHTNck7R9DwTXJFqELEO1JwMXO/iXuj7H0WolPgs=\n-----END
 RSA PRIVATE KEY-----\n",
               "algorithm": "RS256"
           }
       }
   }
   ```
   
   step2: add a Route or add a Service , and enable the jwt-auth plugin
   
   step3: get the token in jwt-auth plugin
   
   ```
   curl http://127.0.0.1:9080/apisix/plugin/jwt/sign?key=RS256-key -X GET
   ```
   
   example: 
`eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJSUzI1Ni1rZXkiLCJleHAiOjE2MDM4MTY0MDV9.Wru7HT7xJLIIHdootPje7Xn9tbvPQAugKR0LFT0ALwRvjqJwPxtkNcCFcM-HOJgO0UVJCTzPe792CIs115fnfTORqMjN2H1g7Cbi2xcJaeDwZoyL1J27kaSJfcB42r4vyK3WQoG3Yk9y7zVVTAey-HpVvu-2m1CMOA2yNw7H810`
   
   setp4: update value of the jwt-auth option on same consumer config, use the 
public key here.
   
   ```
   curl http://127.0.0.1:9080/apisix/admin/consumers -H 'X-API-KEY: 
edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '
   
   {
       "username": "RS256_algorithm",
       "plugins": {
           "jwt-auth": {
               "key": "RS256-key",
               "secret": "-----BEGIN PUBLIC 
KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC50wrZORquQ1W6xS66Hvx9PA/Y\np1kL4GosLCDYCFFeuyHemdZCeDW+jzTfjdfDAExsZ4Z5/gNegOZC3nEIh/IDoEJH\nHMwziTz1jxh/7VXuFGvdZcIiaPpKS6EZ+dVx/NfYMcyY+1gf1ASxJghOD+9Np7Ie\npqKuAqxx1BVnk+rvmwIDAQAB\n-----END
 PUBLIC KEY-----\n",
               "algorithm": "RS256"
           }
       }
   }
   ```
   
   setp5: valid jwt success
   
   
   If use the RS256 algorithm, I want to set both the public and private keys 
at the same time.
   
   #2355
   
   ### Environment
   
   * apisix version (cmd: `apisix version`): master(lastest version)
   * OS:macos
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to