繁体   English   中英

在使用devise的帮助下使用Doorkeeper在Web应用程序的api上使用ogate在ruby on rails上登录oAuth2

[英]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_bouncergrape- 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM