結論
Safariで開くURLに、One Time Passwordのような仕組みを利用した、一時的なTokenを埋め込む。
- 開くURLは基本httpsに限定すべき
- URLが漏れたとしても、有効期限が過ぎたら無効になる
調査した内容
- WebViewには、HeaderやCookieにTokenを渡せるが、Safariには出来ない
- 一時htmlファイルを書いて、その中にjavascriptでTokenをターゲットURLにPostする案もある。但し、この場合、該当一時htmlは公開領域に置く必要あり、脆弱性になり兼ねない
参考:
http://stackoverflow.com/questions/7997010/open-request-in-safari-with-custom-http-headers
http://stackoverflow.com/questions/13196192/open-url-hosted-using-post-method-in-safari-using-sharedapplication-openurl-meth
http://stackoverflow.com/questions/9880922/ios-is-it-possible-to-open-nsurlrequest-directly-in-safari/9881108#9881108