1. ホーム
  2. angularjs

[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。

2022-01-29 04:18:14

質問

携帯電話からアクセスできるように、レスポンシブ対応のウェブサイトを開発しています。このサイトには、Google、Facebook、...など(OAuth)を使ってログインできる、セキュリティで保護された部分があります。

サーバーバックエンドはASP.Net Web API 2で開発し、フロントエンドは主にAngularJSで、一部Razorを使用しています。

認証部分については、Androidを含むすべてのブラウザで正常に動作していますが、iPhoneではGoogle認証が機能せず、次のようなエラーメッセージが表示されます。

Refused to display 'https://accounts.google.com/o/openid2/auth
?openid.ns=http://specs.openid.ne…tp://axschema.org/namePerson
/last&openid.ax.required=email,name,first,last'
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

現在、私のHTMLファイルでは、iframeは使用していません。

ググってみましたが、問題を解決するための回答はありませんでした。

解決方法を教えてください。

O.K.このSOポストの助けを借りて、さらに時間を費やした後

X-Frame-Optionsで禁止されている表示(")を克服する。

を追加することで、なんとか問題を解決できました。 &output=embed をURLの末尾に追加してからgoogleのURLに投稿してください。

var url = data.url + "&output=embed";
window.location.replace(url);