2016-04-08 12 views
1

Maporfitness api'ye oauth2 aracılığıyla bağlanmaya çalışıyorum. Ancak bağlanmaya çalıştığımda bir hata alıyorum.oauth2/api'ye raylarla bağlanırken sorun oluştu

bu yapılandırma dosyasıdır .. ı (o https://www.mapmyfitness.com/v7.1/oauth2/authorize/confirm yönlendirir) bağlanmaya çalıştığınızda ne zaman ancak, bana en azından MapMyFitness giriş için izin gerektiğini Kullanılması

OmniAuth.config.logger = Rails.logger 
 

 
Rails.application.config.middleware.use OmniAuth::Builder do 
 
    provider :mapmyfitness, ENV['wn3ghaaqgbpnztsupsyfvswd3gtprvm9'], ENV['fRMsDbrNQJBgFUBkYReuqKffFKWTzZWVUKz9jCSTeVJ'] 
 
end

. .. tarayıcıda bu hatayı alıyorum "Yetkisiz bir müşteri, kaynaklarınıza erişmeye çalıştı."

Bunun nasıl düzeltileceğinden emin değilim, herhangi bir yardım için teşekkür ederiz!

+0

wn3ghaaqgbpnztsupsyfvswd3gtprvm9 sürece senin MapMyFitness erişim gizli/belirteci eşit ortamınızda ayarlanmış bir anahtardır – trh

+0

evet ikisi de anahtar/sırtırlar ... ENV'yi ele geçirirsem mapmyfitness'a erişmeye çalışırken bu hatayı vurdum "İstenen yönlendirme, istemci ayarları ile eşleşmedi." – ncrouch25

+0

Bu iyi. Artık yetkisiz olduğunuz için - şimdi sadece geri bildirim URL'nizin yanlış olduğunu söylüyorum :) – trh

cevap

2

iki sorunlar

  1. sahip Yalnızca veri kabuk atıkların çevre saklanıyorsa ENV [] kullanın - Bunu yapmak için "güvenli" bir şekilde secret.yml
  2. yılında bilgi saklamaktır
  3. sizin geri arama URL'si omniauth bekliyor eşleşmesi gerekir - bu http://localhost.mapmyapi.com:12345/auth/mapmyfitness/callback olmalıdır burada açıklandığı şekilde: https://github.com/intridea/omniauth#integrating-omniauth-into-your-application

Örnek sizin omniauth başlatıcısı için kullanan sırları

development: 
    mapmyfitness_provider_key: wn3ghaaqgbpnztsupsyfvswd3gtprvm9 
    mapmyfitness_provider_secret: fRMsDbrNQJBgFUBkYReuqKffFKWTzZWVUKz9jCSTeVJ 

Açıkçası üretimi için farklı bir çizgi olur: gibi
Rails.application.config.middleware.use OmniAuth::Builder do 
    provider :mapmyfitness, Rails.application.secrets.mapmyfitness_provider_key, Rails.application.secrets.mapmyfitness_provider_secret 
end 

Sonra secrets.yml görünürdü. Ayrıca, yeni bir kimlik seti isteğinde bulunmayı düşündüğünüz dünya için anahtarlarınızın orada olduğunu unutmayın :)

Ayrıca, config/secrets.yml dosyanızı sürüm kontrolüne dahil etmediğinizi hatırlamak da önemlidir. dağıtım ile.

mapmyfitness'ın localhost geçidi yerine lvh.me'yi kullanmayı deneyebilirsiniz. Emin senin aynı bağlantı noktasını kullanarak raylar sunucu ne olursa olsun liman olduğunu olmanız gerekir Açıkçası http://lvh.me:3000

ziyaret -

Sonra tarayıcınızda

http://lvh.me:3000/auth/mapmyfitness/callback 

için MapMyFitness kayıtlı, geri arama URL'sini değiştirme

koşuyor. `Sağlayıcı:: MapMyFitness, wn3ghaaqgbpnztsupsyfvswd3gtprvm9' , 'fRMsDbrNQJBgFUBkYReuqKffFKWTzZWVUKz9jCSTeVJ' - o zaman ENV parçalarını kaldırmak gerekir - bu muhtemelen daha fazla gibi görünmelidir

+0

Geri arama adresini bu şekilde ayarladıktan sonra uygun yolları ekledim ancak hala "İstenen yönlendirme ..." hatasını alıyorum, burada yanlış gittiğimden emin değilim. – ncrouch25

+0

Her şeyden önce, '' sunucunuzun 12345 numaralı bağlantı noktasında çalıştığını kontrol etmem gerekiyor - ama ben bir şey proxy'yle oldukça doğru bir şey değil (localhost.mapmyapi.com'u yerel makinenize aktarıyorum. - Yani bunun yerine - kullanmayı deneyeceğim lvh.me veya localtest.me gibi bir genel localhost geçidi, düzenlerim. – trh

İlgili konular