2016-04-12 18 views
0

Devise uygulamasını kullanarak bir uygulamam var. Kimlik doğrulama için OAuth2'yi API'mde kullanmak istiyorum.Oauth2'yi kendi uygulamasıyla birlikte uygulayın

  • Doorkeeper, OmniAuth vb. Kullanmadan OAuth2'yi uygulamak mümkün mü?
  • Uygulamamda OAuth2'yi nasıl uygulayabilirim çünkü 'client_id', 'client_secret',: site?
+0

Uygulamanızı OAuth2 sağlayıcısıyla (örn. Facebook, google veya kimler) kaydetmeniz ve gerisinin basit GET ve POST HTTP istekleri olması gerekir. Kütüphaneler, OAuth2 kimlik doğrulama akışı ve sağlayıcının API'sı etrafındaki ambalajlardır. Burada [Plezi tarafından kullanılan örnek bir uygulama için bakabilirsiniz] (https://github.com/boazsegev/plezi/blob/7a4e749908e2f22a0f27d4b4bf46360660d8a0ba/lib/plezi/oauth/auth_controller.rb) – Myst

+0

İçeri girmem gerektiğini söylüyorsunuz sunucu gibi (Facebook, Google vb)? Kendi sunucumu kullanmak istersem ne olur? Mümkün mü? –

+0

OAuth2 sağlayıcısı olmak ister misiniz? veya kullanıcılarınızın Facebook (veya diğer OAuth2) hesaplarını kullanarak giriş yapmalarına izin vermek mi istiyorsunuz? – Myst

cevap

1

o Kapıcı, OmniAuth vb kullanmadan OAuth2 uygulamak mümkün mü?

Evet, tabi ki. Ama tüm işi oAuth 2.0 standardına göre kendiniz yapmanız gerekir. Spesifikasyonu here yapmalısınız.

Uygulamamda 'client_id', 'client_secret',: site olması gerektiğinden OAuth2'yi nasıl uygulayabilirim?

oAuth 2.0 teknik özelliklerini okuyun ve standart Raylar kodunu kullanarak uygulayın. Ancak, mevcut mücevherleri kullanmak çok daha kolay olurdu. Ayrıca, mevcut bakımlı ve popüler mücevherleri kullanmak daha iyidir çünkü oAuth2 standardı, istek belirteci alırken rastgele "durum" ayarı yapmak gibi nüanslara sahiptir. Düşünülemezse, bu MiM saldırılarına yol açabilir.