flash.events

# DRMAuthenticateEvent - AS3

Package | flash.events
Class | public class DRMAuthenticateEvent
Inheritance | DRMAuthenticateEvent Event 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

Using the DRMAuthenticateEvent class

Related API Elements

DRMAuthenticateEvent.DRM_AUTHENTICATE
flash.net.drm.DRMManager

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined 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
|  | bubbles : Boolean [read-only] Indicates whether an event is a bubbling event. | Event
|  | cancelable : Boolean [read-only] Indicates whether the behavior associated with the event can be prevented. | Event
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | currentTarget : Object [read-only] The object that is actively processing the Event object with an event listener. | Event
|  | eventPhase : 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
|  | target : Object [read-only] The event target. | Event
|  | type : 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
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined 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
|  | formatToString(className:String, ... arguments):String A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes. | Event
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isDefaultPrevented():Boolean Checks whether the preventDefault() method has been called on the event. | Event
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | preventDefault():void Cancels an event's default behavior if that behavior can be canceled. | Event
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | stopImmediatePropagation():void Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. | Event
|  | stopPropagation():void Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. | Event
|  | toLocaleString():String 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
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined 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:

Property | Value
--- | ---
`authenticationType` | Indicates whether the supplied credentials are for authenticating against the Flash Media Rights Management Server (FMRMS) or a proxy server.
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`header` | The encrypted content file header provided by the server.
`netstream` | The NetStream object that initiated this event.
`passwordPrompt` | A prompt for a password credential, provided by the server.
`target` | The NetStream object.
`urlPrompt` | A prompt for a URL to display, provided by the server.
`usernamePrompt` | A prompt for a user name credential, provided by the server.

Related API Elements

flash.net.NetStream.drmAuthenticate
DRMAuthenticateEvent.authenticationType

### 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:

Property | Value
--- | ---
`authenticationType` | Indicates whether the supplied credentials are for authenticating against the Flash Media Rights Management Server (FMRMS) or a proxy server.
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`header` | The encrypted content file header provided by the server.
`netstream` | The NetStream object that initiated this event.
`passwordPrompt` | A prompt for a password credential, provided by the server.
`target` | The NetStream object.
`urlPrompt` | A prompt for a URL to display, provided by the server.
`usernamePrompt` | A prompt for a user name credential, provided by the server.

Related API Elements

flash.net.NetStream.drmAuthenticate
DRMAuthenticateEvent.authenticationType

### 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:

Property | Value
--- | ---
`authenticationType` | Indicates whether the supplied credentials are for authenticating against the Flash Media Rights Management Server (FMRMS) or a proxy server.
`bubbles` | `false`
`cancelable` | `false` there is no default behavior to cancel.
`header` | The encrypted content file header provided by the server.
`netstream` | The NetStream object that initiated this event.
`passwordPrompt` | A prompt for a password credential, provided by the server.
`target` | The NetStream object.
`urlPrompt` | A prompt for a URL to display, provided by the server.
`usernamePrompt` | A prompt for a user name credential, provided by the server.

Related API Elements

flash.net.NetStream.drmAuthenticate
Examples How to use this example
DRMAuthenticateEventExample.as
Copy

    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");
            }
         }
    }

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00