/// <summary> /// Attempts to authenticate users by forwarding them to an external website, and upon succcess or failure, redirect users back to the specified url. /// </summary> /// <param name="context"> /// The context. /// </param> /// <param name="returnUrl"> /// The return url after users have completed authenticating against external website. /// </param> /// <param name="state"> /// Additional state to pass on the callback url. /// </param> public virtual void RequestAuthentication(HttpContextBase context, Uri returnUrl, StateDictionary state) { Requires.NotNull(returnUrl, "returnUrl"); Requires.NotNull(context, "context"); Requires.NotNull(state, "state"); Uri callback = returnUrl.StripQueryArgumentsWithPrefix("oauth_"); callback = callback.AttachQueryStringParameter("state", state.ToEncodedString()); this.WebWorker.RequestAuthentication(callback); }
/// <summary> /// Attempts to authenticate users by forwarding them to an external website, and upon succcess or failure, redirect users back to the specified url. /// </summary> /// <param name="context"> /// The context. /// </param> /// <param name="returnUrl"> /// The return url after users have completed authenticating against external website. /// </param> public virtual void RequestAuthentication(HttpContextBase context, Uri returnUrl) { Requires.NotNull(returnUrl, "returnUrl"); Requires.NotNull(context, "context"); Uri callback = returnUrl.StripQueryArgumentsWithPrefix("oauth_"); this.WebWorker.RequestAuthentication(callback); }
/// <summary> /// Attempts to authenticate users by forwarding them to an external website, and upon succcess or failure, redirect users back to the specified url. /// </summary> /// <param name="context">The context.</param> /// <param name="returnUrl">The return url after users have completed authenticating against external website.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns> /// A task that completes with the asynchronous operation. /// </returns> public virtual Task RequestAuthenticationAsync(HttpContextBase context, Uri returnUrl, CancellationToken cancellationToken = default(CancellationToken)) { Requires.NotNull(returnUrl, "returnUrl"); Requires.NotNull(context, "context"); Uri callback = returnUrl.StripQueryArgumentsWithPrefix("oauth_"); return this.WebWorker.RequestAuthenticationAsync(callback, cancellationToken); }