我有一个用于Android和ios应用程序的api的网络应用程序。使用JWT
令牌进行身份验证。
现在,我想为我的应用客户端构建third party api's
,以便将apis集成到网站中。
我整合了Grape
gem,grape-swagger
来构建api。
因为我已经将JWT用于原生app api了。我正在尝试对第三方apis使用相同的身份验证。
我认为将JWT用于api是安全的,但我仍然在问。将JWT用于第三方api是否安全,因为客户端可以公开他的令牌?
我需要一些关于如何使用jwt作为身份验证和葡萄来构建第三方api的参考/链接。
如何进行jwt身份验证和葡萄
/users/sign_in
api,当用户发送用户名密码时。我应该在24小时到期时发送jwt令牌,并要求客户每24小时生成一个新令牌。我还有其他方法可以进行身份验证吗
答案 0 :(得分:0)
找到一个教程 - http://dreamingechoes.github.io/api/ruby/rails/create-a-super-fancy-api-with-grape/
除了没有JWT集成。
答案 1 :(得分:0)
我使用自己的方案使用Authorization:header以及客户端和服务器之间的整个通信使用JWT进行身份验证。 Grape :: API处理程序以:
开头content_type :jwt, 'application/jwt'
formatter :jwt, Rack::JWTFormatter
parser :jwt, Rack::JWTParser
format :jwt
错误的格式为error_formatter
,如果收件人未知(即"在"声明未找到),则会在未使用JWT.encode(data, nil, 'none')
Grape Documentation中描述了如何实现格式化程序和解析器。