ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
flash.events 

DRMAuthenticateEvent  - AS3

Packageflash.events
Classpublic class DRMAuthenticateEvent
InheritanceDRMAuthenticateEvent Inheritance Event Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

A NetStream object dispatchs a DRMAuthenticateEvent object when attempting to play digital rights management (DRM) encrypted content that requires a user credential for authentication.

The DRMAuthenticateEvent handler is responsible for gathering the required credentials (such as the user name, password, and type) and passing the values to the NetStream.setDRMAuthenticationCredentials() method for authentication. Each AIR application must provide some mechanism for obtaining user credentials. For example, the application could provide a user with a simple user interface to enter the username and password values, and optionally the type value as well.

If user authentication failed, the application will retry authentication and dispatch a new DRMAuthenticateEvent event for the NetStream object.

View the examples

More examples

Related API Elements



Public Properties
 PropertyDefined By
      authenticationType : String
[read-only] Indicates whether the supplied credentials are for authenticating against Flash Media Rights Management Server (FMRMS) or a proxy server.
DRMAuthenticateEvent
 Inheritedbubbles : Boolean
[read-only] Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
[read-only] Indicates whether the behavior associated with the event can be prevented.
Event
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheritedcurrentTarget : Object
[read-only] The object that is actively processing the Event object with an event listener.
Event
 InheritedeventPhase : uint
[read-only] The current phase in the event flow.
Event
      header : String
[read-only] The encrypted content file header provided by the server.
DRMAuthenticateEvent
      netstream : NetStream
[read-only] The NetStream object that initiated this event.
DRMAuthenticateEvent
      passwordPrompt : String
[read-only] A prompt for a password credential, provided by the server.
DRMAuthenticateEvent
 Inheritedtarget : Object
[read-only] The event target.
Event
 Inheritedtype : String
[read-only] The type of event.
Event
      urlPrompt : String
[read-only] A prompt for a URL string, provided by the server.
DRMAuthenticateEvent
      usernamePrompt : String
[read-only] A prompt for a user name credential, provided by the server.
DRMAuthenticateEvent
Public Methods
 MethodDefined By
  
    DRMAuthenticateEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, header:String = "", userPrompt:String = "", passPrompt:String = "", urlPrompt:String = "", authenticationType:String = "", netstream:NetStream = null)
Creates an Event object that contains specific information about DRM authentication events.
DRMAuthenticateEvent
  
    clone():Event
[override] Creates a copy of the DRMAuthenticateEvent object and sets the value of each property to match that of the original.
DRMAuthenticateEvent
 Inherited
formatToString(className:String, ... arguments):String
A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes.
Event
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Checks whether the preventDefault() method has been called on the event.
Event
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Cancels an event's default behavior if that behavior can be canceled.
Event
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow.
Event
 Inherited
Prevents processing of any event listeners in nodes subsequent to the current node in the event flow.
Event
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
  
    toString():String
[override] Returns a string that contains all the properties of the DRMAuthenticateEvent object.
DRMAuthenticateEvent
 Inherited
Returns the primitive value of the specified object.
Object
Public Constants
 ConstantDefined By
      AUTHENTICATION_TYPE_DRM : String = "drm"
[static] The DRMAuthenticateEvent.AUTHENTICATION_TYPE_DRM constant defines the value of the authenticationType property of a DRMAuthenticateEvent object.
DRMAuthenticateEvent
      AUTHENTICATION_TYPE_PROXY : String = "proxy"
[static] The DRMAuthenticateEvent.AUTHENTICATION_TYPE_PROXY constant defines the value of the authenticationType property of a DRMAuthenticateEvent object.
DRMAuthenticateEvent
      DRM_AUTHENTICATE : String = "drmAuthenticate"
[static] The DRMAuthenticateEvent.DRM_AUTHENTICATE constant defines the value of the type property of a DRMAuthenticateEvent object.
DRMAuthenticateEvent
Property Detail
    

authenticationType

property
authenticationType:String  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

Indicates whether the supplied credentials are for authenticating against Flash Media Rights Management Server (FMRMS) or a proxy server. For example, the "proxy" option allows the application to authenticate against a proxy server if an enterprise requires such a step before the user can access the Internet. Unless anonymous authentication is used, after the proxy authentication, the user still needs to authenticate against FMRMS in order to obtain the voucher and play the content. You can use setDRMAuthenticationcredentials() a second time, with "drm" option, to authenticate against FMRMS.



Implementation
    public function get authenticationType():String
    

header

property 
header:String  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

The encrypted content file header provided by the server. It contains information about the context of the encrypted content.



Implementation
    public function get header():String
    

netstream

property 
netstream:NetStream  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

The NetStream object that initiated this event.



Implementation
    public function get netstream():NetStream
    

passwordPrompt

property 
passwordPrompt:String  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

A prompt for a password credential, provided by the server. The string can include instruction for the type of password required.



Implementation
    public function get passwordPrompt():String
    

urlPrompt

property 
urlPrompt:String  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

A prompt for a URL string, provided by the server. The string can provide the location where the username and password will be sent.



Implementation
    public function get urlPrompt():String
    

usernamePrompt

property 
usernamePrompt:String  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

A prompt for a user name credential, provided by the server. The string can include instruction for the type of user name required. For example, a content provider may require an e-mail address as the user name.



Implementation
    public function get usernamePrompt():String
Constructor Detail
    

DRMAuthenticateEvent

()Constructor
public function DRMAuthenticateEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, header:String = "", userPrompt:String = "", passPrompt:String = "", urlPrompt:String = "", authenticationType:String = "", netstream:NetStream = null)

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

Creates an Event object that contains specific information about DRM authentication events. Event objects are passed as parameters to event listeners.

Parameters
type:String — The type of the event. Event listeners can access this information through the inherited type property. There is only one type of DRMAuthenticate event: DRMAuthenticateEvent.DRM_AUTHENTICATE.
 
bubbles:Boolean (default = false) — Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited bubbles property.
 
cancelable:Boolean (default = false) — Determines whether the Event object can be canceled. Event listeners can access this information through the inherited cancelable property.
 
header:String (default = "") — The encrypted content file header provided by the server.
 
userPrompt:String (default = "") — A prompt for a user name credential, provided by the server.
 
passPrompt:String (default = "") — A prompt for a password credential, provided by the server.
 
urlPrompt:String (default = "") — A prompt for a URL to display, provided by the server.
 
authenticationType:String (default = "") — Indicates whether the supplied credentials are for authenticating against the Flash Media Rights Management Server (FMRMS) or a proxy server.
 
netstream:NetStream (default = null) — The NetStream object that initiated this event.
Method Detail

    clone

()method
override public function clone():Event

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

Creates a copy of the DRMAuthenticateEvent object and sets the value of each property to match that of the original.

Returns
Event — A new DRMAuthenticateEvent object with property values that match those of the original.

    toString

()method 
override public function toString():String

Runtime Versions: AIR 1.0

Returns a string that contains all the properties of the DRMAuthenticateEvent object. The string is in the following format:

[DRMAuthenticateEvent type=value bubbles=value cancelable=value eventPhase=value header=value usernamePrompt=value passwordPrompt=value urlPrompt=value] authenticationType=value

Returns
String — A string that contains all the properties of the DRMAuthenticateEvent object.
Constant Detail
    

AUTHENTICATION_TYPE_DRM

Constant
public static const AUTHENTICATION_TYPE_DRM:String = "drm"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

The DRMAuthenticateEvent.AUTHENTICATION_TYPE_DRM constant defines the value of the authenticationType property of a DRMAuthenticateEvent object.

This event has the following properties:

PropertyValue
authenticationTypeIndicates whether the supplied credentials are for authenticating against the Flash Media Rights Management Server (FMRMS) or a proxy server.
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
headerThe encrypted content file header provided by the server.
netstreamThe NetStream object that initiated this event.
passwordPromptA prompt for a password credential, provided by the server.
targetThe NetStream object.
urlPromptA prompt for a URL to display, provided by the server.
usernamePromptA prompt for a user name credential, provided by the server.

Related API Elements

    

AUTHENTICATION_TYPE_PROXY

Constant 
public static const AUTHENTICATION_TYPE_PROXY:String = "proxy"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

The DRMAuthenticateEvent.AUTHENTICATION_TYPE_PROXY constant defines the value of the authenticationType property of a DRMAuthenticateEvent object.

This event has the following properties:

PropertyValue
authenticationTypeIndicates whether the supplied credentials are for authenticating against the Flash Media Rights Management Server (FMRMS) or a proxy server.
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
headerThe encrypted content file header provided by the server.
netstreamThe NetStream object that initiated this event.
passwordPromptA prompt for a password credential, provided by the server.
targetThe NetStream object.
urlPromptA prompt for a URL to display, provided by the server.
usernamePromptA prompt for a user name credential, provided by the server.

Related API Elements

    

DRM_AUTHENTICATE

Constant 
public static const DRM_AUTHENTICATE:String = "drmAuthenticate"

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0

The DRMAuthenticateEvent.DRM_AUTHENTICATE constant defines the value of the type property of a DRMAuthenticateEvent object.

This event has the following properties:

PropertyValue
authenticationTypeIndicates whether the supplied credentials are for authenticating against the Flash Media Rights Management Server (FMRMS) or a proxy server.
bubblesfalse
cancelablefalse there is no default behavior to cancel.
headerThe encrypted content file header provided by the server.
netstreamThe NetStream object that initiated this event.
passwordPromptA prompt for a password credential, provided by the server.
targetThe NetStream object.
urlPromptA prompt for a URL to display, provided by the server.
usernamePromptA prompt for a user name credential, provided by the server.

Related API Elements

DRMAuthenticateEventExample.as

package
{
    import flash.display.Sprite;
    import flash.events.AsyncErrorEvent;
    import flash.events.NetStatusEvent;
    import flash.events.DRMAuthenticateEvent;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;

    public class DRMAuthenticateEventExample extends Sprite
    {
        var videoURL:String = "Video.flv";
        var videoConnection:NetConnection;
        var videoStream:NetStream;
        var video:Video = new Video();            

        public function DRMAuthenticateEventExample()
        {
            videoConnection = new NetConnection();
            videoConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            videoConnection.connect(null);
        }

        private function connectStream():void {
            videoStream = new NetStream(videoConnection);
            videoStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            videoStream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
            videoStream.addEventListener(DRMAuthenticateEvent.DRM_AUTHENTICATE, drmAuthenticateEventHandler);
            video.attachNetStream(videoStream);
            videoStream.play(videoURL);
            addChild(video);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Unable to locate video: " + videoURL);
                    break;
            }
        }

        private function asyncErrorHandler(event:AsyncErrorEvent):void {
            // ignore AsyncErrorEvent events.
        }

         private function drmAuthenticateEventHandler(event:DRMAuthenticateEvent):void {
            videoStream.setDRMAuthenticationCredentials("User", "password", "drm");
        }
     }
}