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"


WebRTC 1.0: Real-Time Communication Between Browsers (WebRTC 1.0)
# dom-rtciceserver-credentialtype

Browser compatibility

BCD tables only load in the browser

See also