小编fml*_*pes的帖子

Vue.js锚定到同一组件中的div

我正在开发一个Vue.js应用程序,我很难将一个锚链接到一个组件中的某个div.

我有以下锚:

<a href="#porto" class="porto-button">Porto, Portugal</a>
Run Code Online (Sandbox Code Playgroud)

和以下div:

<div id="porto" class="fl-porto">
Run Code Online (Sandbox Code Playgroud)

我在哈希模式下使用vue-router.

问题是,每当我点击"porto-button"时,它会将我重定向到"home"页面('/')

我正在使用Vue.js 1.X并且我尝试使用历史模式(没有hashbang的URL)但是cannot GET '/page'在刷新页面时它给我一个错误.

难道我做错了什么?我该怎么办?

html vue.js vue-router

12
推荐指数
3
解决办法
2万
查看次数

如何在 devise_token_auth gem 中成功使用 validate_token?

我对 Ruby 和 Rails 本身还是很陌生,我正在尝试构建一个简单的 Rails API。

我想通过令牌对用户进行身份验证,因此我使用了 devise_token_auth gem。

我可以在 /auth/sign_in 成功发出 POST 请求,现在我正在尝试在 /auth/validate_token 发出 GET 请求

我所拥有的,作为“测试”:

    uri = URI.parse("http://localhost:3000/auth/sign_in")
    response = Net::HTTP.post_form(uri, {"email" => params[:session][:email], "password" => params[:session][:password]})

    uri2 = URI.parse("http://localhost:3000/auth/validate_token")
    params = { :auth_token => response['access-token'], :uid => response['uid'], :client => response['client'] }
    uri2.query = URI.encode_www_form(params)
    response2 = Net::HTTP.get_response(uri2)
Run Code Online (Sandbox Code Playgroud)

因此,我使用从响应标头中检索到的访问令牌和 uid,但我不断从 /auth/validate_token 获取 401 响应代码:

 Started GET "/auth/validate_token?auth_token=EEV40VDHfOaWtBzv3bn_DQ&uid=username%40example.com&client=NAzWNJalYBJLRni9dCGxXA" for ::1 at 2016-06-22 15:22:35 +0100
 Processing by DeviseTokenAuth::TokenValidationsController#validate_token as */*
   Parameters: {"auth_token"=>"EEV40VDHfOaWtBzv3bn_DQ", "uid"=>"username@example.com", "client"=>"NAzWNJalYBJLRni9dCGxXA"}
 Completed 401 …
Run Code Online (Sandbox Code Playgroud)

authentication ruby-on-rails token

6
推荐指数
1
解决办法
2312
查看次数

Devise_token_auth 重置密码流程 401 错误

我正在尝试构建一个 rails API,我正在使用devise_token_auth gem 使用令牌进行用户身份验证。

我设法正确设置了所有内容,但遇到了问题。每当我尝试重置密码时,都会收到来自 API 的 401 Unauthorized 错误。

流程如下:

  1. 用户点击“忘记密码”按钮
  2. 用户被重定向到带有表单的前端应用程序以插入其电子邮件
  3. 前端应用程序使用emailredirect_url参数向 API 'auth/password' 发出 POST 请求
  4. API 通过生成reset_password_token并向电子邮件参数中提供的电子邮件地址发送电子邮件来响应此请求
  5. 用户单击电子邮件中的链接,将他们带到“通过密码重置令牌验证用户”端点(GET /password/edit)
  6. 此端点验证用户并将其重定向到redirect_url
  7. 这个redirect_url是前端的一个页面,它包含一个passwordpassword_confirmation字段
  8. 用户在此前端页面上提交表单,该页面向 API:PUT /auth/password 发送请求,其中包含密码password_confirmation参数
  9. API 更改用户的密码并返回成功消息

我的问题发生在第 8 步和第 9 步之间,在那里我收到了 401 未经授权的响应。这是为什么?我能做些什么来解决这个问题?

编辑:

从有关此问题的文档和线程中,我意识到它与标题有关。但是,我不知道如何使用 Ruby on Rails 管理请求的标头。

编辑2:

我设法找出问题所在。我需要将access-tokenclientuid作为标头传递。我可以访问该信息,并且正在尝试通过执行以下操作来设置请求标头:

http = Net::HTTP.new("127.0.0.1", "3000") …
Run Code Online (Sandbox Code Playgroud)

authentication api ruby-on-rails devise

6
推荐指数
1
解决办法
1345
查看次数

标签 统计

authentication ×2

ruby-on-rails ×2

api ×1

devise ×1

html ×1

token ×1

vue-router ×1

vue.js ×1