//----------------------------------------------------------------------- // // Copyright (c) Outercurve Foundation. All rights reserved. // //----------------------------------------------------------------------- namespace DotNetOpenAuth.OpenId.Provider { using System; using System.Collections.Generic; using System.Text; using DotNetOpenAuth.Messaging; /// /// Instances of this interface represent incoming authentication requests. /// This interface provides the details of the request and allows setting /// the response. /// public interface IAuthenticationRequest : IHostProcessedRequest { /// /// Gets a value indicating whether the Provider should help the user /// select a Claimed Identifier to send back to the relying party. /// bool IsDirectedIdentity { get; } /// /// Gets a value indicating whether the requesting Relying Party is using a delegated URL. /// /// /// When delegated identifiers are used, the should not /// be changed at the Provider during authentication. /// Delegation is only detectable on requests originating from OpenID 2.0 relying parties. /// A relying party implementing only OpenID 1.x may use delegation and this property will /// return false anyway. /// bool IsDelegatedIdentifier { get; } /// /// Gets or sets the Local Identifier to this OpenID Provider of the user attempting /// to authenticate. Check to see if /// this value is valid. /// /// /// This may or may not be the same as the Claimed Identifier that the user agent /// originally supplied to the relying party. The Claimed Identifier /// endpoint may be delegating authentication to this provider using /// this provider's local id, which is what this property contains. /// Use this identifier when looking up this user in the provider's user account /// list. /// Identifier LocalIdentifier { get; set; } /// /// Gets or sets the identifier that the user agent is claiming at the relying party site. /// Check to see if this value is valid. /// /// /// This property can only be set if is /// false, to prevent breaking URL delegation. /// This will not be the same as this provider's local identifier for the user /// if the user has set up his/her own identity page that points to this /// provider for authentication. /// The provider may use this identifier for displaying to the user when /// asking for the user's permission to authenticate to the relying party. /// /// Thrown from the setter /// if is true. Identifier ClaimedIdentifier { get; set; } /// /// Gets or sets a value indicating whether the provider has determined that the /// belongs to the currently logged in user /// and wishes to share this information with the consumer. /// bool? IsAuthenticated { get; set; } /// /// Adds an optional fragment (#fragment) portion to the ClaimedIdentifier. /// Useful for identifier recycling. /// /// /// Should not include the # prefix character as that will be added internally. /// May be null or the empty string to clear a previously set fragment. /// /// /// Unlike the property, which can only be set if /// using directed identity, this method can be called on any URI claimed identifier. /// Because XRI claimed identifiers (the canonical IDs) are never recycled, /// this method shouldnot be called for XRIs. /// /// /// Thrown when this method is called on an XRI, or on a directed identity /// request before the property is set. /// void SetClaimedIdentifierFragment(string fragment); } }