/// <summary>
 /// Executed every time page is loaded. Checks for OpenID-related requests,
 /// and processes, if present.
 /// </summary>
 /// <param name="sender">Object invoking this method.</param>
 /// <param name="e">EventArgs associated with the request.</param>
 protected void Page_Load(object sender, EventArgs e)
 {
     // need to store openid, email, newsletter bool etc. in database for first time user.
     if (!IsPostBack)
     {
         OpenIDConsumer openid = new OpenIDConsumer();
         switch (openid.RequestedMode) {
             case RequestedMode.IdResolution:
                 openid.Identity = this.Identity;
                 SetAuthMode(openid);
                 if (openid.Validate())
                 {
                     _UserObject = openid.RetrieveUser();
                     FormPanel.Visible = false;
                     StatusPanel.Visible = true;
                     OnValidateSuccess(e);
                 }
                 else
                 {
                     FormPanel.Visible = true;
                     StatusPanel.Visible = false;
                     LLabel.Text = openid.GetError();
                     OnValidateFail(e);
                 }
                 break;
             case RequestedMode.CancelledByUser:
                 FormPanel.Visible = true;
                 StatusPanel.Visible = false;
                 LLabel.Text = "Login request cancelled.";
                 OnRemoteCancel(e);
                 break;
             case RequestedMode.None:
                 if (UserObject != null)
                 {
                     FormPanel.Visible = false;
                     StatusPanel.Visible = true;
                 }
                 break;
         }
     }
 }
示例#2
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            //            <input id="openIdPostback" type="hidden" Value="<%= GetPostBackEventReference() %>"/>
            //<input id="openIdLogin" type="hidden" />
            Page.ClientScript.RegisterHiddenField("openIdLogin", null);

            ScriptManager.RegisterClientScriptBlock(this, typeof(OpenId), "test", "function openidpb(){" + GetPostBackEventReference() + "}", true);

            //Trace.TraceFinished += new TraceContextEventHandler(Trace_TraceFinished);
            if (!Page.IsPostBack)
            {
                OpenIDConsumer openid = new OpenIDConsumer();
                switch (openid.RequestedMode)
                {
                    case RequestedMode.IdResolution:
                        openid.Identity = this.Identity;
                        SetAuthMode(openid);
                        if (openid.Validate())
                        {
                            _UserObject = openid.RetrieveUser();

                            OnValidateSuccess(e);
                            OnResponseProcessed(e);
                        }
                        else
                        {
                            //FormPanel.Visible = true;
                            //StatusPanel.Visible = false;
                            //LLabel.Text = TranslateError(openid.GetError());
                            OnValidateFail(e);
                            OnResponseProcessed(e);
                        }
                        break;
                    case RequestedMode.CancelledByUser:
                        //FormPanel.Visible = true;
                        //StatusPanel.Visible = false;
                        //LLabel.Text = TranslateError(Errors.RequestCancelled);
                        OnRemoteCancel(e);
                        OnResponseProcessed(e);
                        break;
                    case RequestedMode.None:
                        if (UserObject != null)
                        {
                            //FormPanel.Visible = false;
                            //StatusPanel.Visible = true;
                        }
                        break;
                }
            }
        }