- From: Bernard Aboba <Bernard.Aboba@microsoft.com>
- Date: Fri, 4 Jul 2014 00:23:46 +0000
- To: "public-ortc@w3.org" <public-ortc@w3.org>
Martin Thomson said: 
You'll want to have a setIdentityAssertion(DOMString assertion) as well, since you aren't feeding this with setRemoteDescription any more.
With that, you could probably remove some of the indirection.
How about reducing the surface area a little:
partial interface RTCDtlsTransport {
    Promise<DOMString> getIdentityAssertion(DOMString provider, optional DOMString protocol = "default", optional DOMString username);
    // this encapsulates onidentityresult and onidpassertionerror in the promise
    Promise setIdentityAssertion(DOMString assertion);
    // this encapsulates onidentityresult and onidpvalidationerror
    readonly attribute RTCIdentityAssertion? peerIdentity;
};
[Robin Raymond] said: 
I like this API overall. I would make it its own interface though that is constructed from a RTCDtlsTransport to keep the security assertion stuff separate from DTLS, or we could make it like stats interface where "secure" transports could derive from...
[BA]  How about this? 
[Constructor(RTCDtlsTransport transport)]
interface RTCIdentity {
    readonly    attribute RTCIdentityAssertion? peerIdentity;
    readonly    attribute RTCDtlsTransport      transport;
    Promise<DOMString>            getIdentityAssertion (DOMString provider, optional DOMString protocol = "default", optional DOMString username);
    Promise<RTCIdentityAssertion> setIdentityAssertion (DOMString assertion);
};
dictionary RTCIdentityError {
    DOMString  idp;
    DOMString  protocol;
    DOMString? loginUrl;
};
dictionary RTCIdentityAssertion {
    DOMString idp;
    DOMString name;
};
Received on Friday, 4 July 2014 00:24:16 UTC