我正在尝试为 iOS 应用程序创建一个登录系统,该应用程序具有由设计和门卫提供支持的 rails 后端。
我想限制网络请求的数量,所以不想从凭据中获取令牌,然后将用户详细信息作为单独的请求获取。
这是我目前的尝试:
token = Doorkeeper::AccessToken.create!(application_id: @application_id,
resource_owner_id: current_user.id, :expires_in => 168.hours)
puts token.token
render :json => {:user => current_user, :token => token.as_json(:include=> token)},
status: :ok, location: :users
然而,返回的是:
{"user":{"id":2,"email":"user3@test.com","created_at":"2014-06-12T17:25:12.000Z",
"updated_at":"2014-06-13T12:20:18.536Z",
"firstName":"user","lastName":"test","subscription":null},
"token":{"resource_owner_id":2,"scopes":[],"expires_in_seconds":604800,
"application":{"uid":"[Filtered]"}}}
因此,实际的 access_token 密钥不会被传回以允许我将来进行调用。我可以看到令牌本身没有返回DoorKeeper::AccessToken.as_json
,但token.as_json(:include=> token)
仍然没有返回它。
有谁知道如何以 json 形式返回 AccessToken,包括访问令牌本身?