我正在使用Ruby on Rails为Clio app使用Oauth2获取令牌。所以,我安装以下gem:
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:listfooter="@layout/item_footer"
tools:listheader="@layout/item_header"
tools:listitem="@layout/item" />
这是我的代码:
gem 'oauth2'
前端发送变量client = OAuth2::Client.new(CLIENT_KEY_CLIO, CLIENT_SECRET_CLIO, site: SITE)
token = client.auth_code.get_token(code, :redirect_uri => 'http://127.0.0.1/approval')
return token
的位置。并且是当用户在他的clio帐户中登录时clio应用程序发送的代码。
但是redirect_uri URL不存在。但是,我创建了它,它唯一能做的就是获取代码参数并将其返回。
但是,它不起作用。根据文档,我可以设置code
的默认URL,但它也不起作用。我总是有这个错误:
https://app.clio.com/oauth/approval
我记得以前发生过这个错误。但是当redirect_uri值改变时它就解决了。
redirect_uri有什么问题?有人可以向我提供Oauth2请求的示例吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
在redirect_uri
我需要生成code
变量的网址。因此,如果http://127.0.0.1/approval
存在并且可以通过互联网访问但不能生成代码,那么它就无法正常工作。但是,如果我输入生成代码的正确网址,那么它就能正常运行。
client = OAuth2::Client.new(CLIENT_KEY_CLIO, CLIENT_SECRET_CLIO, site: SITE)
token = client.auth_code.get_token(code, :redirect_uri => 'http://address_generate_code_from_frontend')
return token