読者です 読者をやめる 読者になる 読者になる

たぷつきません

おなかがでてきた。もうたぷついてるやん。

manifestのrealmの記述ミス

 ずいぶん昔にはまったけど、どこにも記録を残していなかったのか思い出せなかった。。。orz なので改めてちゃんと記憶に残すよう大きく書いておきます。
realmのUrlには、https://アプリケーションサーバーアドレス/ のように末尾にスラッシュを書いてはイケナイ

例)
https://myapp.appspot.com   ... OK
https://myapp.appspot.com/  ... NG

 これをつけると、

  1. マーケットプレイスアプリなのに「このアプリを許可しますか?」とユーザー単位に承認を要求される。
  2. インストール先のドメインの[高度なツール]-[OpenID を使用した連携ログイン]-[OpenID を使用したサードパーティのウェブサイトへのログインを許可]のチェックが必要になってしまう。

 ...という症状が出ます。
後者が特に致命的でGoogleが表示するエラー画面が文字化け(クライアントのエンコードの問題ではなく、レスポンスがすでに???? のようになっているので読めない)て表示されます*1
 Marketplaceのアプリは、ドメインが認めてドメインにインストールする対象です。openidによるサインオンの許可は、Marketplaceからアプリをインストールする際にadminが既に承認したものです。一方、[高度なツール]-[OpenID を使用した連携ログイン]は、ドメイン内メンバーが個々に認めてインストールしたものが対象となっています。
 もっと言えば、Google Apps Standardでは[高度なツール]-[OpenID を使用した連携ログイン]をコントロールする方法がない*2ので、そこに頼るのはやはりスマートじゃないということになります。


 ...よし復習したぞ。もう忘れまい。

*1:エラー画面のURLのパラメータを見てロケールを変えることで英語で読めるようになります。そこに「single sign-on の設定をドメインでせよ」と書かれていて、ようやく今回のハマリから脱するキッカケになりました。

*2:全てブロック,全て許容のどちらなのかは未確認