PassportIdentity Class (System.Web.Security)

Switch View :
ScriptFree
.NET Framework Class Library
PassportIdentity Class

Note: This API is now obsolete.

Provides a class to be used by PassportAuthenticationModule. It provides a way for an application to access the Ticket method. This class cannot be inherited. This class is deprecated.

Inheritance Hierarchy

System.Object
  System.Web.Security.PassportIdentity

Namespace:  System.Web.Security
Assembly:  System.Web (in System.Web.dll)
Syntax

Visual Basic
<ObsoleteAttribute("This type is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.")> _
Public NotInheritable Class PassportIdentity _
	Implements IIdentity, IDisposable
C#
[ObsoleteAttribute("This type is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.")]
public sealed class PassportIdentity : IIdentity, 
	IDisposable
Visual C++
[ObsoleteAttribute(L"This type is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.")]
public ref class PassportIdentity sealed : IIdentity, 
	IDisposable
F#
[<Sealed>]
[<ObsoleteAttribute("This type is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.")>]
type PassportIdentity =  
    class
        interface IIdentity
        interface IDisposable
    end

The PassportIdentity type exposes the following members.

Constructors

  Name Description
Public method PassportIdentity Initializes a new instance of the PassportIdentity class. This class is deprecated.
Top
Properties

  Name Description
Public property AuthenticationType Gets the type of authentication used to identify the user. This class is deprecated.
Public property Error Gets a value indicating the error state associated with the current Passport ticket. This class is deprecated.
Public property GetFromNetworkServer Gets information on a Passport server connection and query string. This class is deprecated.
Public property HasSavedPassword Gets information on whether the Passport member's password was saved. This class is deprecated.
Public property HasTicket Gets a value indicating whether the query string includes a Passport ticket as a cookie. This class is deprecated.
Public property HexPUID Gets the Passport Unique Identifier (PUID) for the currently authenticated user, in hexadecimal form. This class is deprecated.
Public property IsAuthenticated Gets a value indicating whether the user is authenticated against a Passport authority. This class is deprecated.
Public property Item Gets Passport profile attributes. This class is deprecated.
Public property Name Gets the name of the current user. This class is deprecated.
Public property TicketAge Gets the time, in seconds, since the last ticket was issued or refreshed. This class is deprecated.
Public property TimeSinceSignIn Gets the time, in seconds, since a member's logon to the Passport logon server. This class is deprecated.
Top
Methods

  Name Description
Public method AuthUrl() Returns a string containing the Login server URL for a member, as well as with optional information sent to the Login server in the query string. This class is deprecated.
Public method AuthUrl(String) Returns a string containing the Login server URL for a member, along with optional information sent to the Login server in the query string. This class is deprecated.
Public method AuthUrl(String, Int32, Boolean, String, Int32, String, Int32, Boolean) Returns the authentication server URL for a member. This class is deprecated.
Public method AuthUrl(String, Int32, Int32, String, Int32, String, Int32, Int32) Returns a string containing the Login server URL for a member, along with the optional information sent to the Login server in the query string. This class is deprecated.
Public method AuthUrl2() Returns a string containing the Login server URL for a member, as well as optional information sent to the Login server in the query string. This class is deprecated.
Public method AuthUrl2(String) Returns a string containing the Login server URL for a member, as well as optional information sent to the Login server in the query string. This class is deprecated.
Public method AuthUrl2(String, Int32, Boolean, String, Int32, String, Int32, Boolean) Returns a string containing the Login server URL for a member, as well as the optional information sent to the Login server in the query string. This class is deprecated.
Public method AuthUrl2(String, Int32, Int32, String, Int32, String, Int32, Int32) Retrieves a string containing the Login server URL for a member, as well as the optional information sent to the Login server in the query string. This class is deprecated.
Public method Static member Compress Compresses data. This class is deprecated.
Public method Static member CryptIsValid Gets the state of a flag indicating if the Passport Manager is in a valid state for encryption. This class is deprecated.
Public method Static member CryptPutHost Sets the key being used for Passport encryption and decryption. This class is deprecated.
Public method Static member CryptPutSite Sets the key being used for Passport encryption and decryption by referring to the site-name label assigned to that key when the key was first installed. This class is deprecated.
Public method Static member Decompress Decompresses data that has been compressed by the Compress method. This class is deprecated.
Public method Static member Decrypt Decrypts data using the Passport participant key for the current site. This class is deprecated.
Public method Static member Encrypt Encrypts data using the Passport participant key for the current site. This class is deprecated.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetCurrentConfig Gets the contents of a registry key under the HKLM\SW\Microsoft\Passport hive. This class is deprecated.
Public method GetDomainAttribute Provides information for a Passport domain by querying the Passport manager for the requested domain attribute. This class is deprecated.
Public method GetDomainFromMemberName Returns the Passport domain from the member name string. This class is deprecated.
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetIsAuthenticated(Int32, Boolean, Boolean) Indicates whether the user is authenticated by a central site responsible for Passport authentication. This class is deprecated.
Public method GetIsAuthenticated(Int32, Int32, Int32) Indicates whether the user is authenticated by a Passport authority. This class is deprecated.
Public method GetLoginChallenge() Logs the user on, either by generating a 302 redirect URL or initiating a Passport-aware client authentication exchange. This class is deprecated.
Public method GetLoginChallenge(String) Logs the user on by outputting the appropriate headers to either a 302 redirect URL or the initiation of a Passport-aware client authentication exchange. This class is deprecated.
Public method GetLoginChallenge(String, Int32, Int32, String, Int32, String, Int32, Int32, Object) Logs the user on, either by generating a 302 redirect URL or initiating a Passport-aware client authentication exchange. This class is deprecated.
Public method GetOption Gets a specific Passport logon option. This class is deprecated.
Public method GetProfileObject Returns Passport profile information for the specified profile attribute. This class is deprecated.
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method HasFlag Indicates whether a given flag is set in this user's profile. This class is deprecated.
Public method HasProfile Indicates whether a given profile attribute exists in this user's profile. This class is deprecated.
Public method HaveConsent Indicates whether full consent is granted in this user's profile. This class is deprecated.
Public method LoginUser() Logs the user on, either by generating a 302 redirect URL or initiating a Passport-aware client authentication exchange. This class is deprecated.
Public method LoginUser(String) Logs the user on, either by generating a 302 redirect URL or initiating a Passport-aware client authentication exchange. This class is deprecated.
Public method LoginUser(String, Int32, Boolean, String, Int32, String, Int32, Boolean, Object) Logs the user on, either by generating a 302 redirect URL or by initiating a Passport-aware client authentication exchange. This class is deprecated.
Public method LoginUser(String, Int32, Int32, String, Int32, String, Int32, Int32, Object) Logs the user on, either by generating a 302 redirect URL or initiating a Passport-aware client authentication exchange. This class is deprecated.
Public method LogoTag() Returns an HTML fragment containing an image tag for a Passport link. This class is deprecated.
Public method LogoTag(String) Returns an HTML fragment containing an HTML <img> tag for a Passport link. This class is deprecated.
Public method LogoTag(String, Int32, Boolean, String, Int32, Boolean, String, Int32, Boolean) Returns an HTML fragment containing an HTML <img> tag for a Passport link. This class is deprecated.
Public method LogoTag(String, Int32, Int32, String, Int32, Int32, String, Int32, Int32) Returns an HTML fragment containing an HTML <img> tag for a Passport link. This class is deprecated.
Public method LogoTag2() Returns an HTML fragment containing an image tag for a Passport link. This class is deprecated.
Public method LogoTag2(String) Returns an HTML fragment containing an HTML <img> tag for a Passport link. This class is deprecated.
Public method LogoTag2(String, Int32, Boolean, String, Int32, Boolean, String, Int32, Boolean) Returns an HTML fragment containing an HTML <img> tag for a Passport link. This class is deprecated.
Public method LogoTag2(String, Int32, Int32, String, Int32, Int32, String, Int32, Int32) Returns an HTML fragment containing an HTML <img> tag for a Passport link. This class is deprecated.
Public method LogoutURL() Returns the Passport logout URL string. This class is deprecated.
Public method LogoutURL(String, String, Int32, String, Int32) Returns the Passport logout URL string using the specified parameters. This class is deprecated.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method SetOption Sets a specific Passport logon option. This class is deprecated.
Public method Static member SignOut Logs off the given Passport member from the current session. This class is deprecated.
Public method Ticket Gets information on a specific attribute of the Passport authentication ticket. This class is deprecated.
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
Explicit Interface Implementations

  Name Description
Explicit interface implemetation Private method IDisposable.Dispose Releases all resources used by the PassportIdentity class. This class is deprecated.
Top
Remarks

This class has been deprecated and is no longer supported. Microsoft Passport Network has been replaced by Windows Live ID. For more information about how to use Windows Live ID to authenticate users in a Web application, see Windows Live ID SDK.

Windows XP Home Edition, Windows XP Professional x64 Edition, Windows Server 2003 Platform Note: Only Passport SDK version 2.1 is supported.

Examples

Visual Basic

<!-- 
This example demonstrates implementing the soft sign-in authentication approach. 
In order for the example to work, the following requirements must be met. 
You can find details on these requirements in the Passport SDK documentation.

1. You must modify the Web.config file associated with this page so that 
authentication mode is set to "Passport".
2. You must have the Passport SDK installed.
3. You must have a Passport Site ID for the site where your page resides. 
If your Site ID is in the PREP environment, you will also need a PREP Passport.
4. You must have installed the encryption key you received after registering your 
site and receiving a site ID.
5. You must have the Passport Manager object settings correctly configured for your site.
-->



...


<%@ Page language="VB" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Runtime.InteropServices" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    Private Sub Page_Load(sender As Object, e As System.EventArgs)
        Try 
            ' Determine whether Passport is the type of authentication
            ' this page is set to use. (Authentication information
            ' is set in the Web.config file.)
            If Not TypeOf(Me.Context.User.Identity) Is PassportIdentity Then
                ' If this page isn't set to use Passport authentication,
                ' quit now.
                 Me.Response.Write("Error: Passport authentication failed. " & _
                     "Make sure that the Passport SDK is installed and your " & _
                     "Web.config file is configured correctly.")
                Return
            End If

            ' Expire the page to avoid the browser's cache.
            Response.Cache.SetNoStore()

            ' Get a version of the Identity value that is cast as type
            ' PassportIdentity. 
            Dim identity As PassportIdentity = Me.Context.User.Identity
            ' Determine whether the user is already signed in with a valid
            ' and current ticket. Passing -1 for the parameter values 
            ' indicates the default values will be used.
            If (identity.GetIsAuthenticated(-1, -1, -1)) Then
                Me.Response.Write("Welcome to the site.<br /><br />")
                ' Print the Passport sign in button on the screen.
                Me.Response.Write(identity.LogoTag2())
                ' Make sure the user has core profile information before
                ' trying to access it.
                If (identity.HasProfile("core")) Then
                    Me.Response.Write("<b>You have been authenticated as " & _ 
                    "Passport identity:" & identity.Name & "</b></p>")
                End If

            ' Determine whether the user has a ticket.
            ElseIf identity.HasTicket Then
                ' If the user has a ticket but wasn't authenticated, that 
                ' means the ticket is stale, so the login needs to be refreshed.
                ' Passing true as the fForceLogin parameter value indicates that 
                ' silent refresh will be accepted.
                identity.LoginUser(Nothing, -1, True, Nothing, -1, Nothing, _
                    -1, True, Nothing)

            ' If the user does not already have a ticket, ask the user
            ' to sign in.
            Else
                Me.Response.Write("Please sign in using the link below.<br /><br />")
                ' Print the Passport sign in button on the screen.
                Me.Response.Write(identity.LogoTag2())
            End If

        Catch comError As System.Runtime.InteropServices.COMException
            Me.Response.Write("An error occured while working with the " & _
                "Passport SDK. The following result was returned: " & _
                comError.ErrorCode)
        End Try
    End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>ASP.NET Example</title>
</head>

    <body>
        <form id="form1" runat="server">
        </form>
    </body>
</html>


C#

<!-- 
This example demonstrates implementing the soft sign-in authentication approach. 
In order for the example to work, the following requirements must be met. 
You can find details on these requirements in the Passport SDK documentation.

1. You must modify the Web.config file associated with this page so that 
authentication mode is set to "Passport".
2. You must have the Passport SDK installed.
3. You must have a Passport Site ID for the site where your page resides. 
If your Site ID is in the PREP environment, you will also need a PREP Passport.
4. You must have installed the encryption key you received after registering 
your site and receiving a site ID.
5. You must have the Passport Manager object settings correctly configured for 
your site.
-->



...


<%@ Page language="c#" AutoEventWireup="true" %>
<%@ Import Namespace="System.Drawing" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Runtime.InteropServices" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
        try 
        {
            // Determine whether Passport is the type of authentication
            // this page is set to use. (Authentication information
            // is set in the Web.config file.)
            if (!(this.Context.User.Identity is PassportIdentity))
            {
                // If this page isn't set to use Passport authentication,
                // quit now.
                this.Response.Write("Error: Passport authentication failed. " + 
                    "Make sure that the Passport SDK is installed " +
                    "and your Web.config file is configured correctly.");
                return;
            }

            // Expire the page to avoid the browser's cache.
           Response.Cache.SetNoStore(); 


            // Get a version of the Identity value that is cast as type
            // PassportIdentity. 
            PassportIdentity identity = (this.Context.User.Identity as PassportIdentity);    
            // Determine whether the user is already signed in with a valid
            // and current ticket. Passing -1 for the parameter values 
            // indicates the default values will be used.
            if (identity.GetIsAuthenticated(-1, -1, -1))
            {
                this.Response.Write("Welcome to the site.<br /><br />");
                // Print the Passport sign in button on the screen.
                this.Response.Write(identity.LogoTag2());
                // Make sure the user has core profile information before
                // trying to access it.
                if (identity.HasProfile("core"))
                {
                    this.Response.Write("<b>You have been authenticated as " + 
                        "Passport identity:" + identity.Name + "</b></p>");
                }
            }

            // Determine whether the user has a ticket.
            else if (identity.HasTicket)
            {
                // If the user has a ticket but wasn't authenticated, that 
                // means the ticket is stale, so the login needs to be refreshed.
                // Passing true as the fForceLogin parameter value indicates that 
                // silent refresh will be accepted.
                identity.LoginUser(null, -1, true, null, -1, null, -1, true, null);
            }

            // If the user does not already have a ticket, ask the user
            // to sign in.
            else
            {
                this.Response.Write("Please sign in using the link below.<br /><br />");
                // Print the Passport sign in button on the screen.
                this.Response.Write(identity.LogoTag2());
            }
        }
        catch (System.Runtime.InteropServices.COMException comError)
        {
            this.Response.Write("An error occured while working with the " +
                "Passport SDK.");
        }
    }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <title>ASP.NET Example</title>
</head>
    <body>
        <form id="form1" runat="server">
        </form>
    </body>
</html>


Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Obsolete (compiler warning) in 4
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also

Reference