The RTCIceServer dictionary's credentialType property is a string value from the RTCIceCredentialType enum which indicates what type of credential the RTCIceServer.credential value is. The default is password.


var iceServer = {
                  credentialType = newCredentialType,

var credentialType = iceServer.credentialType;

iceServer.credentialType = newCredentialType;


The permitted values are found in the RTCIceCredentialType enumerated string type:

The RTCIceServer requires the use of OAuth 2.0 to authenticate in order to use the ICE server described. This process is detailed in RFC 7635. This property was formerly called token.
The RTCIceServer requires a username and password to authenticate prior to using the described ICE server.


This example creates a new RTCPeerConnection which will use a TURN server at turnserver.example.org to negotiate connections. Logging into the TURN server will use the username "webrtc" and the creative password "turnpassword".

myPeerConnection = new RTCPeerConnection({
  iceServers: [
      urls: "turn:turnserver.example.org",  // A TURN server
      username: "webrtc",
      credential: "turnpassword",
      credentialType: "password"


Specification Status Comment
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCIceServer.credential' in that specification.
Candidate Recommendation Initial specification.

Browser compatibility

BCD tables only load in the browser

See also