Packageflash.events
Classpublic class DRMAuthenticateEvent
InheritanceDRMAuthenticateEvent Inheritance Event Inheritance Object

Language version: ActionScript 3.0
Runtime version: 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.

See also

DRMAuthenticateEvent.DRM_AUTHENTICATE
flash.net.drm.DRMManager


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
Indicates whether an event is a bubbling event.
Event
 Inheritedcancelable : Boolean
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
The object that is actively processing the Event object with an event listener.
Event
 InheritedeventPhase : uint
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
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 Inheritedtarget : Object
The event target.
Event
 Inheritedtype : String
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
  
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
  
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
 InheritedACTIVATE : String = "activate"
[static] The ACTIVATE constant defines the value of the type property of an activate event object.
Event
 InheritedADDED : String = "added"
[static] The Event.ADDED constant defines the value of the type property of an added event object.
Event
 InheritedADDED_TO_STAGE : String = "addedToStage"
[static] The Event.ADDED_TO_STAGE constant defines the value of the type property of an addedToStage event object.
Event
  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
 InheritedBROWSER_ZOOM_CHANGE : String = "browserZoomChange"
[static] The Event.BROWSER_ZOOM_CHANGE constant defines the value of the type property of an browserZoomChange event object.
Event
 InheritedCANCEL : String = "cancel"
[static] The Event.CANCEL constant defines the value of the type property of a cancel event object.
Event
 InheritedCHANGE : String = "change"
[static] The Event.CHANGE constant defines the value of the type property of a change event object.
Event
 InheritedCHANNEL_MESSAGE : String = "channelMessage"
[static] The Event.CHANNEL_MESSAGE constant defines the value of the type property of a channelMessage event object.
Event
 InheritedCHANNEL_STATE : String = "channelState"
[static] The Event.CHANNEL_STATE constant defines the value of the type property of a channelState event object.
Event
 InheritedCLEAR : String = "clear"
[static] The Event.CLEAR constant defines the value of the type property of a clear event object.
Event
 InheritedCLOSE : String = "close"
[static] The Event.CLOSE constant defines the value of the type property of a close event object.
Event
 InheritedCLOSING : String = "closing"
[static] The Event.CLOSING constant defines the value of the type property of a closing event object.
Event
 InheritedCOMPLETE : String = "complete"
[static] The Event.COMPLETE constant defines the value of the type property of a complete event object.
Event
 InheritedCONNECT : String = "connect"
[static] The Event.CONNECT constant defines the value of the type property of a connect event object.
Event
 InheritedCONTEXT3D_CREATE : String = "context3DCreate"
[static] The Event.CONTEXT3D_CREATE constant defines the value of the type property of a context3Dcreate event object.
Event
 InheritedCOPY : String = "copy"
[static] Defines the value of the type property of a copy event object.
Event
 InheritedCUT : String = "cut"
[static] Defines the value of the type property of a cut event object.
Event
 InheritedDEACTIVATE : String = "deactivate"
[static] The Event.DEACTIVATE constant defines the value of the type property of a deactivate event object.
Event
 InheritedDISPLAYING : String = "displaying"
[static] The Event.DISPLAYING constant defines the value of the type property of a displaying event object.
Event
  DRM_AUTHENTICATE : String = "drmAuthenticate"
[static] The DRMAuthenticateEvent.DRM_AUTHENTICATE constant defines the value of the type property of a DRMAuthenticateEvent object.
DRMAuthenticateEvent
 InheritedENTER_FRAME : String = "enterFrame"
[static] The Event.ENTER_FRAME constant defines the value of the type property of an enterFrame event object.
Event
 InheritedEXIT_FRAME : String = "exitFrame"
[static] The Event.EXIT_FRAME constant defines the value of the type property of an exitFrame event object.
Event
 InheritedEXITING : String = "exiting"
[static] The Event.EXITING constant defines the value of the type property of an exiting event object.
Event
 InheritedFRAME_CONSTRUCTED : String = "frameConstructed"
[static] The Event.FRAME_CONSTRUCTED constant defines the value of the type property of an frameConstructed event object.
Event
 InheritedFRAME_LABEL : String = "frameLabel"
[static] The Event.FRAME_LABEL constant defines the value of the type property of an frameLabel event object.
Event
 InheritedFULLSCREEN : String = "fullScreen"
[static] The Event.FULL_SCREEN constant defines the value of the type property of a fullScreen event object.
Event
 InheritedHTML_BOUNDS_CHANGE : String = "htmlBoundsChange"
[static] The Event.HTML_BOUNDS_CHANGE constant defines the value of the type property of an htmlBoundsChange event object.
Event
 InheritedHTML_DOM_INITIALIZE : String = "htmlDOMInitialize"
[static] The Event.HTML_DOM_INITIALIZE constant defines the value of the type property of an htmlDOMInitialize event object.
Event
 InheritedHTML_RENDER : String = "htmlRender"
[static] The Event.HTML_RENDER constant defines the value of the type property of an htmlRender event object.
Event
 InheritedID3 : String = "id3"
[static] The Event.ID3 constant defines the value of the type property of an id3 event object.
Event
 InheritedINIT : String = "init"
[static] The Event.INIT constant defines the value of the type property of an init event object.
Event
 InheritedLOCATION_CHANGE : String = "locationChange"
[static] The Event.LOCATION_CHANGE constant defines the value of the type property of a locationChange event object.
Event
 InheritedMOUSE_LEAVE : String = "mouseLeave"
[static] The Event.MOUSE_LEAVE constant defines the value of the type property of a mouseLeave event object.
Event
 InheritedNETWORK_CHANGE : String = "networkChange"
[static] The Event.NETWORK_CHANGE constant defines the value of the type property of a networkChange event object.
Event
 InheritedOPEN : String = "open"
[static] The Event.OPEN constant defines the value of the type property of an open event object.
Event
 InheritedPASTE : String = "paste"
[static] The Event.PASTE constant defines the value of the type property of a paste event object.
Event
 InheritedPREPARING : String = "preparing"
[static] The Event.PREPARING constant defines the value of the type property of a preparing event object.
Event
 InheritedREMOVED : String = "removed"
[static] The Event.REMOVED constant defines the value of the type property of a removed event object.
Event
 InheritedREMOVED_FROM_STAGE : String = "removedFromStage"
[static] The Event.REMOVED_FROM_STAGE constant defines the value of the type property of a removedFromStage event object.
Event
 InheritedRENDER : String = "render"
[static] The Event.RENDER constant defines the value of the type property of a render event object.
Event
 InheritedRESIZE : String = "resize"
[static] The Event.RESIZE constant defines the value of the type property of a resize event object.
Event
 InheritedSCROLL : String = "scroll"
[static] The Event.SCROLL constant defines the value of the type property of a scroll event object.
Event
 InheritedSELECT : String = "select"
[static] The Event.SELECT constant defines the value of the type property of a select event object.
Event
 InheritedSELECT_ALL : String = "selectAll"
[static] The Event.SELECT_ALL constant defines the value of the type property of a selectAll event object.
Event
 InheritedSOUND_COMPLETE : String = "soundComplete"
[static] The Event.SOUND_COMPLETE constant defines the value of the type property of a soundComplete event object.
Event
 InheritedSTANDARD_ERROR_CLOSE : String = "standardErrorClose"
[static] The Event.STANDARD_ERROR_CLOSE constant defines the value of the type property of a standardErrorClose event object.
Event
 InheritedSTANDARD_INPUT_CLOSE : String = "standardInputClose"
[static] The Event.STANDARD_INPUT_CLOSE constant defines the value of the type property of a standardInputClose event object.
Event
 InheritedSTANDARD_OUTPUT_CLOSE : String = "standardOutputClose"
[static] The Event.STANDARD_OUTPUT_CLOSE constant defines the value of the type property of a standardOutputClose event object.
Event
 InheritedSUSPEND : String = "suspend"
[static] The Event.SUSPEND constant defines the value of the type property of an suspend event object.
Event
 InheritedTAB_CHILDREN_CHANGE : String = "tabChildrenChange"
[static] The Event.TAB_CHILDREN_CHANGE constant defines the value of the type property of a tabChildrenChange event object.
Event
 InheritedTAB_ENABLED_CHANGE : String = "tabEnabledChange"
[static] The Event.TAB_ENABLED_CHANGE constant defines the value of the type property of a tabEnabledChange event object.
Event
 InheritedTAB_INDEX_CHANGE : String = "tabIndexChange"
[static] The Event.TAB_INDEX_CHANGE constant defines the value of the type property of a tabIndexChange event object.
Event
 InheritedTEXT_INTERACTION_MODE_CHANGE : String = "textInteractionModeChange"
[static] The Event.TEXT_INTERACTION_MODE_CHANGE constant defines the value of the type property of a interaction mode event object.
Event
 InheritedTEXTURE_READY : String = "textureReady"
[static] The Event.TEXTURE_READY constant defines the value of the type property of a textureReady event object.
Event
 InheritedUNLOAD : String = "unload"
[static] The Event.UNLOAD constant defines the value of the type property of an unload event object.
Event
 InheritedUSER_IDLE : String = "userIdle"
[static] The Event.USER_IDLE constant defines the value of the type property of a userIdle event object.
Event
 InheritedUSER_PRESENT : String = "userPresent"
[static] The Event.USER_PRESENT constant defines the value of the type property of a userPresent event object.
Event
 InheritedVIDEO_FRAME : String = "videoFrame"
[static] The Event.VIDEO_FRAME constant defines the value of the type property of a videoFrame event object.
Event
 InheritedWORKER_STATE : String = "workerState"
[static] The Event.WORKER_STATE constant defines the value of the type property of a workerState event object.
Event
Property detail
authenticationTypeproperty
authenticationType:String  [read-only]

Language version: ActionScript 3.0
Runtime version: 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
headerproperty 
header:String  [read-only]

Language version: ActionScript 3.0
Runtime version: 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
netstreamproperty 
netstream:NetStream  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 1.0

The NetStream object that initiated this event.

Implementation
    public function get netstream():NetStream
passwordPromptproperty 
passwordPrompt:String  [read-only]

Language version: ActionScript 3.0
Runtime version: 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
urlPromptproperty 
urlPrompt:String  [read-only]

Language version: ActionScript 3.0
Runtime version: 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
usernamePromptproperty 
usernamePrompt:String  [read-only]

Language version: ActionScript 3.0
Runtime version: 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 version: 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
public override function clone():Event

Language version: ActionScript 3.0
Runtime version: 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 
public override function toString():String

Runtime version: 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_DRMconstant
public static const AUTHENTICATION_TYPE_DRM:String = "drm"

Language version: ActionScript 3.0
Runtime version: 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.

See also

AUTHENTICATION_TYPE_PROXYconstant 
public static const AUTHENTICATION_TYPE_PROXY:String = "proxy"

Language version: ActionScript 3.0
Runtime version: 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.

See also

DRM_AUTHENTICATEconstant 
public static const DRM_AUTHENTICATE:String = "drmAuthenticate"

Language version: ActionScript 3.0
Runtime version: 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.

See also

Examples
examples\DRMAuthenticateEventExample
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");
		}
 	}
}