/ / Rails provedor OAuth de duas pernas? - rubi sobre trilhos, rubi, oauth, oauth-provider, de duas pernas

Provedor OAuth de duas pernas do Rails? - rubi sobre trilhos, rubi, oauth, oauth-provider, de duas pernas

Eu tenho um aplicativo 2.3.5 rails com uma API que eu gostaria de proteger.

Não há usuário - é um aplicativo para o serviço web de estilo de aplicativo (mais como um serviço da Amazon do que o Facebook) e, portanto, gostaria de implementá-lo usando uma abordagem OAuth de duas etapas.

Eu tenho tentado usar a implementação do servidor oauth-plugin como um começo:

http://github.com/pelle/oauth-plugin

... mas é construído esperando oauth de três pernas (fluxo de redirecionamento da web).

Antes de eu cavar mais fundo em fazer alterações parasuporte de duas pernas, eu queria ver se havia uma maneira mais fácil, ou se alguém tinha uma abordagem melhor para um aplicativo de trilhos para implementar como um provedor de OAuth de duas pernas.

Respostas:

8 para resposta № 1

Anteriormente, a única boa resposta era hackearsobre no oauth-plugin para obter este subconjunto da interação oauth. Desde então, o oauth-plugin foi refatorado, e agora você pode usá-lo diretamente, apenas adicionando o tipo certo de filtro de autenticação ao seu controlador:

class ApiController < ApplicationController

include OAuth::Controllers::ApplicationControllerMethods

oauthenticate :strategies => :two_legged, :interactive => false

# ...

end

5 para resposta № 2

Eu não estou ciente de quaisquer alternativas para oauth-pluginno momento, embora definitivamente esteja ficando comprida e pronta para uma substituição. Minha recomendação é gerar o servidor oauth a partir do oauth-plugin e, em seguida, extrair as dependências do plug-in (que são apenas alguns módulos de métodos) e descartar o plug-in. Em seguida, ajuste tudo às suas necessidades. Oauth 2-legged não deve ser um grande problema, pois é mais simples do que o 3-legged de qualquer maneira, e meu sentimento é que oauth-plugin não é utilizável nos dias de hoje sem modificações significativas de qualquer maneira.

A carne de OAuth tem sido extraída há muito tempooouth gem base de qualquer maneira, então o plugin oauth é meio que no limbo. A arquitetura faz algumas suposições pesadas sobre qual sistema de autenticação você está usando, e o código gerado é datado. Então, para mim, o oauth-plugin serve mais como um exemplo de como ligar tudo, em vez de algo que a maioria dos sites gostaria de usar fora da caixa.