2011-02-04 2 views
41

Я разрабатываю API в Ruby on Rails 3, и я хотел бы обеспечить его с помощью Oauth2. Другими словами, мне нужно создать поставщика Oauth. Есть ли там работающий камень для Rails 3 или, возможно, учебник по этой проблеме?Rails 3. Создание провайдера oauth2

UPDATE

Я знаю Рельсы REST основаны поэтому я считаю, что очень странно, что нет учебников о том, как создать общественный API и закрепить его. Кто-нибудь знает о хороших учебниках. Предпочтительно с oAuth.

Благодарен за помощь!

ответ

24

Я opensourced OAuth2 server implementation вчера.

Это хорошо документировано, и есть панель управления для контроля доступа. Прямо сейчас я ищу кого-то, кто хочет построить двигатель, начиная с него, или что-то прохладное поверх стойки. Вот почему он с открытым исходным кодом.

+1

Отлично смотрится! Продолжайте хорошую работу. –

+0

Спасибо, я надеюсь, что сообщество станет частью проекта, чтобы сделать его лучше и лучше. –

+0

Благодарим вас за открытие источника. Я многому научился у него. –

24

https://github.com/intridea/oauth2 - канонический драгоценный камень прямо сейчас для OAuth2 dev. Если вы ищете более полное решение, а не свертывать свой собственный код провайдера, проверьте:

Но я предлагаю возиться с oauth2 драгоценным камнем, если вы Арен «Очень хорошо знакомы с потоком, чтобы вы могли лучше изучить его.

+0

Спасибо! Есть ли какая-либо документация для этого? https: // GitHub.com/freerange/oauth2-provider –

+0

Эта версия основана на mongoid btw :) Поэтому, если вы не используете это, я бы предложил другие. Я только сослался на создание поставщика с нуля лично. – raidfive

+0

Я использую SQL. Знаете ли вы о хорошем руководстве для разработчиков в Rails 3? –

5

Я разрабатываю rugygem для поставщика OAuth2, стойку :: OAuth2.

Для этого необходимо разработать модели (токен, код, клиент и т. Д.), Но вы можете получить здесь весь сервер OAuth2 Rails3. https://github.com/nov/rack-oauth2-sample

2

Я также ищу поставщика OAuth2! В настоящее время я экспериментирую с этим https://github.com/assaf/rack-oauth2-server, который, кажется, является полнофункциональным сервером OAuth2, хотя он по-прежнему поддерживает только MongoDB, хотя реализация поддержки других СУБД кажется достаточно простой. Я также смотрю на некоторые из других вариантов, размещенных здесь, много многообещающих вещей!

+0

Я использовал его для реализации защищенного API oauth2, он работает, но мне потребовалось пару дней, чтобы обернуть вокруг себя голову. Автор был очень полезен, хотя –

9

Если вы используете (или планируете использовать) устройство для аутентификации, вы можете использовать https://github.com/socialcast/devise_oauth2_providable в качестве плагина.

+0

Это выглядит очень хорошо. Я попробовал, но я не могу понять, как создать клиент, например. –

+0

Вот пример клиента (синатра) и сервера (рельсы), используя этот модуль для разработки: https://github.com/aganov/devise-oauth2-provider-client – kiwnix

+0

От их текущего [README.md] (https: // github.com/socialcast/devise_oauth2_providable/blob/master/README.md): «ЭТО ГЕМ НИКОГДА НЕ ДОЛЖЕН ПОДДЕРЖИВАЕТСЯ И СЧИТАЕТСЯ УДАЛЕНЫ». – gabe

Смежные вопросы