1

Google OpenID ログインを実装しようとしています

次の質問があります。

  1. 行の変数 openidurl の値はどこで取得できますか

IAuthenticationRequest リクエスト = openid.CreateRequest(openidurl);

2. 特定の Google Apps ドメインのみのログインを制限するにはどうすればよいですか?

コードは次のとおりです。

    protected void Page_Load(object sender, EventArgs e)
    {
        OpenIdRelyingParty openid = new OpenIdRelyingParty();
        var response = openid.GetResponse();
        if (response != null)
        {
            switch (response.Status)
            {
                case AuthenticationStatus.Authenticated:

                    var fetch = response.GetExtension<FetchResponse>();
                    string email = string.Empty;
                    if (fetch != null)
                    {
                        email = fetch.GetAttributeValue(WellKnownAttributes.Contact.Email);
                    }

                    //FormsAuthentication.RedirectFromLoginPage(response.ClaimedIdentifier, false);
                    Session["email"] = email;
                    Response.Redirect("profile.aspx");
                    break;
            }
        }
    }

    protected void OpenLogin_Click(object src, CommandEventArgs e)
    {
        string openidurl = "https://www.google.com/accounts/o8/id?id=initial_id"; //auxiliary initial id. ??????
        //The Request
        using (OpenIdRelyingParty openid = new OpenIdRelyingParty())
        {
            IAuthenticationRequest request = openid.CreateRequest(openidurl);

            var fetch = new FetchRequest();
            fetch.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
            request.AddExtension(fetch);

            // Send your visitor to their Provider for authentication.
            request.RedirectToProvider();
        }
    }
}

Google OpenID を使用するのはこれが初めてです。

4

0 に答える 0