Skip to content
This repository has been archived by the owner on Dec 18, 2018. It is now read-only.

Enhancements to negotiate response url #1947

Closed
davidfowl opened this issue Apr 11, 2018 · 6 comments
Closed

Enhancements to negotiate response url #1947

davidfowl opened this issue Apr 11, 2018 · 6 comments
Assignees
Labels
3 - Done cost: M Will take 3 - 5 days to complete type: Enhancement
Milestone

Comments

@davidfowl
Copy link
Member

davidfowl commented Apr 11, 2018

We want to add 2 things to the negotiate response:

  • A url that the client connects to for the actual SignalR end point. This is to support scenarios where the main application wants to direct the real time traffic to another server but doesn't want to hard code urls in the client. Negotiate would gain the ability to specify a URL that the client should connect to.

  • An access token or access token end point. This would automagically get plugged into the client's access token provider when making a request to the above url.

@muratg
Copy link

muratg commented Apr 11, 2018

Triage: We'll need to discuss this.

@davidfowl davidfowl added status: Needs Design cost: S Will take up to 2 days to complete cost: M Will take 3 - 5 days to complete and removed cost: S Will take up to 2 days to complete labels Apr 12, 2018
@davidfowl
Copy link
Member Author

Today if websockets is chosen, we skip negotiate, we need to make this an explicit flag instead of using the transport type.

@analogrelay
Copy link
Contributor

If this flag (SkipNegotiate) is set, we should throw if the Transports flags enum (on the client) is anything other than exactly WebSockets.

@davidfowl
Copy link
Member Author

The response will look like:

{
    "url": "https://myothersignalrapp.foo.net/chat",
    "accessToken": "accessToken"
}

@muratg
Copy link

muratg commented Apr 17, 2018

@davidfowl how about accessTokenEndpoint?

@davidfowl
Copy link
Member Author

Not required, we're going to be just using the access token specified here as is. If it expires, the connection will die and we'll get a new one from the same negotiate endpoint.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
3 - Done cost: M Will take 3 - 5 days to complete type: Enhancement
Projects
None yet
Development

No branches or pull requests

3 participants