lucj / sails-oauth2-api

140 stars 34 forks source link

JWT support #16

Open kavuri opened 7 years ago

kavuri commented 7 years ago

I am trying to implement jwt support in sails-oauth2-api and trying to implement the seamless user registration (if the user does not exist in the local db) I have added a check in isTrustedClient.js to verify if the grant_type is 'urn:ietf:params:oauth:grant-type:jwt-bearer'. From here onwards, I wanted to use https://github.com/xtuple/oauth2orize-jwt-bearer along with https://github.com/xtuple/passport-oauth2-jwt-bearer

Can you provide some pointers on the structure of the code and where I can go about implementing this? Once I am done, I can create a PR

kavuri commented 7 years ago

Update: I have added support for JWT to verify the jwt token and also create a user if user does not exist. But I see that the jwt server.exchange('urn:ietf:params:oauth:grant-type:jwt-bearer', jwtBearer(function(client, data, signature, done) method does not get invoked in the flow as mentioned here: https://github.com/xtuple/oauth2orize-jwt-bearer Any clue?

lucj commented 7 years ago

@kavuri I've never used this one before. What is the headers you sent in the request that should trigger the exchange ?

kavuri commented 7 years ago

@lucj the header is this urn:ietf:params:oauth:grant-type:jwt-bearer

kavuri commented 7 years ago

@lucj I can create the PR, I need help in creating the flow. Currently, I have plugged the jwt verification in the isTrustedClient.js, but then it does not go to the access token generation once all the verification is complete