次をクリックすると、instagram の埋め込みページが 1 つずつ表示される、Azure でデプロイされた django Web アプリがあります。
問題:-
Azure Active Directory 認証をオンにすると、最初の instagram 埋め込みリンクが読み込まれますが、次の埋め込みページを読み込む必要がある [次へ] ボタンをクリックすると、コンソールに http 500 エラー メッセージが表示され、ページが読み込まれません。
また、AD 認証をオフにして匿名アクセスに設定すると、次のクリックで問題なくページが読み込まれます。
問題は何ですか?また、認証設定をオンにしてそれらをロードするにはどうすればよいですか?
編集
インスタグラムのページが読み込めない問題の背後にあるという結論に達する前に、それは問題ではないようです.
問題は、次のボタンをクリックしているときに呼び出している URL にあります。認証がある場合、アプリは次のページに移動しませんが、認証がなければ、次のページに正常に移動します。
以下のコードを参照して、呼び出しを行っています:-
$("#button-next").click(function(e){
var fin = '';
$.ajax({
url: 'mywebsitename.azurewebsites.net/next_details/',
method: 'GET',
data: {'link': window.location.href},
success: function(response) {
if (response.data != 'no links') {
$.each(response['data'], function(index, value){
fin += "//pass"
});
$('append-iframes').html(fin);
window.location.href = '*' + response.name + '/?type=' + response.check_type;
}
}
})
})
編集 - 2
//Next_details 関数
@csrf_exempt
https://myappname.azurewebsites.net
def next_details(request):
import pdb; pdb.set_trace()
check_type = ''.join(findall('type=(.*)', request.POST.get('link', '')))
data_list = []
if check_type:
present_link = request.POST.get('link', '').split('/')[-2]
if check_type == 'all':
data = urlopen('https://myappname.azurewebsites.net/get_detailed/').read()
else:
data = urlopen('https://myappname.azurewebsites.net/get_detailed_%s/' % check_type).read()
else:
check_type= 'all'
present_link = request.POST.get('link', '').split('/')[-1]
data = urlopen('https://myappname.azurewebsites.net/get_detailed/').read()
data_json = json.loads(data)
qual_data = [dt['id'] for dt in data_json['qual_data'] if dt['name'] == present_link]
if qual_data:
present_id = qual_data[0]
next_acc = [dt['name'] for dt in data_json['qual_data'] if dt['id'] == present_id + 1]
acc_name = next_acc[0]
links = Radarly.objects.filter(screen_name=acc_name, status='Active')
if links:
for link in links:
data_list.append({'perma_link': link.permalink, 'name': acc_name})
data = json.dumps({'data': data_list, 'check_type': check_type})
return HttpResponse(data, content_type ="application/json")
else:
new_data = json.dumps({'data': 'no links'})
return HttpResponse(new_data, content_type ="application/json")