https://developers.google.com/google-apps/marketplace/tutorial_dotnetの例に基づいて、GoogleAppsをOpenIDプロバイダーとして使用してWebアプリケーションを認証するコードがあります。
それはすべて期待どおりに機能します。ただし、Googleログイン画面にリダイレクトされると、デフォルトで[サインインしたままにする]チェックボックスが選択されます。URLの最後に&rm = falseを手動で追加すると、チェックボックスが選択されていないことがわかりました。これは、より安全なデフォルトオプションであると思います。
私の質問は、コードで&rm=falseを渡すにはどうすればよいですか。AddCallbackArgumentsを見てきましたが、これはそれを行う方法ではないようです。
コードは
private static readonly HostMetaDiscoveryService GoogleAppsDiscovery = new HostMetaDiscoveryService
{
UseGoogleHostedHostMeta = true,
};
private static readonly OpenIdRelyingParty relyingParty;
static login()
{
relyingParty = new OpenIdRelyingParty();
relyingParty.DiscoveryServices.Clear();
relyingParty.DiscoveryServices.Insert(0, GoogleAppsDiscovery);
}
protected void buLogin_Click(object sender, EventArgs e)
{
IAuthenticationRequest request = relyingParty.CreateRequest("mydomain");
request.RedirectToProvider();
}