0

如果之前有人问过并回答过这个问题,我深表歉意,但我已经在整个网站上进行了搜索,尝试了大约 2 打搜索组合、谷歌等,但仍然没有找到答案。

我正在构建一个页面(嗯,登录/注册页面将是静态的,但否则)javascript 应用程序。我决定采用 Twitter 的方法并为它构建一个 API,并在 javascript 应用程序中使用它。

我正在使用 Rails,并计划将 Versionist 用于 API、Authlogic 或自定义身份验证系统,并将 Doorkeeper 用于 oauth。

那么,我如何在本地使用 API(通过 javascript 应用程序)但仍然在 OAuth 后面保护它?

4

1 回答 1

0

这是我正在使用的 js OAuth2 库:https ://github.com/andreassolberg/jso

它对我来说效果很好。

提供有关您的应用的信息:

jso_configure({
    "your_app": {
        client_id: "client id of the application your registered in your provider",
        redirect_uri: "http://localhost:8080",
        authorization: "https://www.your_app.com/oauth/authorize"
    }
});

然后,当您需要时,或者当您的应用程序启动时,授权用户:

jso_ensureTokens({
    "your_app": ["public", "write"]
});

就是这样,您现在可以向您的提供程序 api 发送请求:

$.oajax({
    url: "https://api.your_app.com/v1/lala/rsvp",
    jso_provider: "your_app",
    jso_scopes: ["public", "write"],
    jso_allowia: true,
    dataType: 'json',
    success: function(data) {
        console.log("Response (your_app):");
        console.log(data);
    }
});

ps:我不会使用 Authlogic,它太老了。

于 2012-09-01T15:23:55.830 回答