2016-03-29 11 views
0

私はリダイレクトURLに問題がありますが、私はすでにdeezerに接続していません。Deezerにログオンしていないとき、私のアプリケーションは間違ったURLにリダイレクトされます

私が接続すると、私のOAuthフローは完全に機能し、正しいURLにリダイレクトされます: 'http://10.0.0.68:3000/callback/'。

しかし、私がディーゼルセッションを開いていないときに、私はディーゼルログインページにリダイレクトされても動作しません。 facebookでDeezerにログインするたびに、私は次のアドレスにリダイレクトされます: 'http://10.0.0.68:3000/callback/https://connect.deezer.com/oauth/auth.php?perms=basic_access%2Cemail%2Coffline_access&format=window&app_id=175451&redirect_uri=http%3A%2F%2F10.0.0.68%3A3000%2Fcallback%2F#='。

私はそれが私のスコープの外で起こるため、どのようにこれは、私のアプリに問題がある可能性があり見当がつかないが、ここに私のコードは次のとおりです。

settings.py

DEEZER_REDIRECT_URI = reverse_lazy('front:callback') 
DEEZER_API_URL = 'https://api.deezer.com/' 
DEEZER_CONNECT_URL = 'https://connect.deezer.com/' 
DEEZER_APP_ID = "xxxxxx" 
DEEZER_SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 

views.py

class LoginView(View): 
    """Logs user with Deezer""" 
    def get(self, request): 
     url = settings.DEEZER_CONNECT_URL + 'oauth/auth.php?' + \ 
             urlencode({ 
              'app_id': settings.DEEZER_APP_ID, 
              'perms': 'basic_access,email,offline_access', 
              'redirect_uri': settings.BASE_URL + str(settings.DEEZER_REDIRECT_URI)[1:] 
             }) 
     redirect = HttpResponseRedirect(url) 
     return redirect 

urls.py

app_name = 'front' 
urlpatterns = [ 
    url(r'^$', views.IndexView.as_view(), name='index'), 
    url(r'^login/$', views.LoginView.as_view(), name='login'), 
    url(r'^callback/$', views.CallbackView.as_view(), name='callback'), 
] 

誰かが私を助けることを願っています。

答えて

1

UPDATE 2016年3月31日

それはあまりにも、あなたのケースで動作するはずですので、Deezerは、問題を解決していることと思われます。

前の答え:

少なくとも私はそれはあなたのせいではないことを伝えることができます。今日、私たちのアプリケーションの以前のOAuthワークフローwww.mooval.deは、あなたがここで説明したのとまったく同じように動作するようになったことが分かりました。

https://connect.deezer.com/login.php?app_id=155151&redirect_type=refresh&redirect_link =のhttp%3A%2F%2Fwww.mooval.de%2FdeezerAuthCallbackhttps%3A%2F%2Fconnect.deezer:

Deeezerは、正しいリダイレクトURLの作成に失敗し、最近何かを展開しているようです。 com%2Foauth%2Fauth.php%3Fstate%3Deb05c0fe-48ef-4cce-85c3-ed1d037d7111%26perms%3Doffline_access%252Cmanage_library%252Cdelete_library%26format%3Dwindow%26app_id%3D155151%26redirect_uri%3Dhttp%253A%252F%252Fwww.mooval.de% 252FdeezerAuthCallback

GET /oauth/auth.php?app_id=xxxxxx&redirect_uri=http%3A%2F%2Fwww.mooval.de%2FdeezerAuthCallback&perms=manage_library%2Cdelete_library%2Coffline_access&state=eb05c0fe-48ef-4cce-85c3-ed1d037d7111 
HTTP/1.1 Host: connect.deezer.com 
Connection: keep-alive 
Pragma: no-cache 
Cache-Control: no-cache 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8  
Upgrade-Insecure-Requests: 1 
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36 
DNT: 1 
Referer: http://mooval.de/ 
Accept-Encoding: gzip, deflate, sdch 
Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4 
Cookie: xxx 

HTTP/1.1 302 Found 
Date: Wed, 30 Mar 2016 12:37:23 GMT 
Server: Apache 
Set-Cookie: sid=fr7ae7be4cd40c37855e22e876961fce0c3ec235; path=/; domain=.deezer.com; HttpOnly 
Expires: Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
P3P: policyref="/w3c/p3p.xml" CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA" 
Location: https://connect.deezer.com/login.php?app_id=155151&redirect_type=refresh&redirect_link=http%3A%2F%2Fwww.mooval.de%2FdeezerAuthCallbackhttps%3A%2F%2Fconnect.deezer.com%2Foauth%2Fauth.php%3Fstate%3Deb05c0fe-48ef-4cce-85c3-ed1d037d7111%26perms%3Doffline_access%252Cmanage_library%252Cdelete_library%26format%3Dwindow%26app_id%3Dxxxxx%26redirect_uri%3Dhttp%253A%252F%252Fwww.mooval.de%252FdeezerAuthCallback 
X-Host: blm-web-49 
Content-Length: 0 
Keep-Alive: timeout=3, max=500 
Connection: Keep-Alive 
Content-Type: text/html; charset=utf-8 
+0

ありがとう!私はあなたの答えを受け入れる前にスタッフのために少し待つつもりです。ところで、クールなアプリ! –

+0

ありがとう:)このケースで私の更新を見たことがありますか? Deezerがすでに問題を解決したと思われるので、あなたのワークフローも今はうまくいくはずです。 –

+0

はい私はそれを見ました、ありがとう! –

関連する問題