[英]API and Application authentication using Devise, Doorkeeper and OAuth2 token
[英]oAuth2 login on the api for web app in ruby on rails using doorkeeper with the help of devise
我是Ruby On Rails中的api开发的新手。 在Rails应用程序中,我设计了用于身份验证的程序,我还想使用Doorkeeper在api上进行OAuth2登录。 我不知道如何实现Api以及如何使用网守。 谁能解释一下实现此步骤需要遵循的步骤?
要实现我个人喜欢使用grape的 api,通过遵循自述文件,您将立即启动并运行:)
要将葡萄与门卫集成,可以使用wine_bouncer或grape- doorkeeper 。
现在,取决于谁使用了您的api,doorkeeper附带了4个授权授权 ,我非常建议您阅读不同的授权类型及其用法,您也可以阅读此oauth2简化的文章。
为了使门卫可以随心所欲地玩游戏,您需要按以下方式修改门卫初始化程序:
当您执行授权或隐式授予请求时,通常会调用resource_owner_authenticator
块:
resource_owner_authenticator do |routes|
# Put your resource owner authentication logic here.
# If you want to use named routes from your app you need
# to call them on routes object eg.
# routes.new_user_session_path
current_user || warden.authenticate!(:scope => :user)
end
您可以在门卫Wiki上查看示例应用程序 。
密码授予改为使用resource_owner_from_credentials
块,根据Wiki,您可以按以下方式对其进行配置:
resource_owner_from_credentials do |routes|
request.params[:user] = {:email => request.params[:username], :password => request.params[:password]}
request.env["devise.allow_params_authentication"] = true
request.env["warden"].authenticate!(:scope => :user)
end
一些可以帮助您的资源:
希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.