Skip to content

Commit

Permalink
Merge pull request #849 from Azure/release/v141
Browse files Browse the repository at this point in the history
Releasing 1.4.1
  • Loading branch information
vicancy authored Mar 16, 2020
2 parents c55696b + c8614e2 commit b0f0f74
Show file tree
Hide file tree
Showing 102 changed files with 2,583 additions and 1,083 deletions.
28 changes: 14 additions & 14 deletions AzureSignalR.sln
Original file line number Diff line number Diff line change
Expand Up @@ -54,20 +54,20 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.SignalR.Man
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ChatSample", "ChatSample", "{C965ED06-6A17-4329-B3C6-811830F4F4ED}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChatSample", "samples\ChatSample\ChatSample\ChatSample.csproj", "{3F9B3FD8-A54F-4AB4-B9D4-D4D55686A0E9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChatSample.CSharpClient", "samples\ChatSample\ChatSample.CSharpClient\ChatSample.CSharpClient.csproj", "{C51AA61E-5210-4545-B49E-61255C136B83}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.SignalR.Tests.Common", "test\Microsoft.Azure.SignalR.Tests.Common\Microsoft.Azure.SignalR.Tests.Common.csproj", "{981419D7-5199-4829-ABE2-421D05EF7D8C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChatSample.CoreApp3", "samples\ChatSample\ChatSample.CoreApp3\ChatSample.CoreApp3.csproj", "{1F6D9B7A-36A0-4B71-825B-77F832B425A5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.SignalR.E2ETests", "test\Microsoft.Azure.SignalR.E2ETests\Microsoft.Azure.SignalR.E2ETests.csproj", "{B8BA8F89-8028-4691-82C6-8F9E946B6B22}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.SignalR.AspNet.E2ETests", "test\Microsoft.Azure.SignalR.AspNet.E2ETests\Microsoft.Azure.SignalR.AspNet.E2ETests.csproj", "{5D97A2CB-DCD6-4865-9C39-34687A14AAE1}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BlazorAppSample", "samples\BlazorAppSample\BlazorAppSample.csproj", "{CDE3C0B5-CD0B-42DE-9CE1-638266A2A1AE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChatSample", "samples\ChatSample\ChatSample\ChatSample.csproj", "{63BB9836-126B-4E65-92B9-019438185E41}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChatSample.NetCore21", "samples\ChatSample\ChatSample.NetCore21\ChatSample.NetCore21.csproj", "{1D06C79C-4E97-40F6-A860-092941922EFA}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -126,10 +126,6 @@ Global
{493CE126-D147-434E-ACF8-675E89D0A981}.Debug|Any CPU.Build.0 = Debug|Any CPU
{493CE126-D147-434E-ACF8-675E89D0A981}.Release|Any CPU.ActiveCfg = Release|Any CPU
{493CE126-D147-434E-ACF8-675E89D0A981}.Release|Any CPU.Build.0 = Release|Any CPU
{3F9B3FD8-A54F-4AB4-B9D4-D4D55686A0E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3F9B3FD8-A54F-4AB4-B9D4-D4D55686A0E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3F9B3FD8-A54F-4AB4-B9D4-D4D55686A0E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3F9B3FD8-A54F-4AB4-B9D4-D4D55686A0E9}.Release|Any CPU.Build.0 = Release|Any CPU
{C51AA61E-5210-4545-B49E-61255C136B83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C51AA61E-5210-4545-B49E-61255C136B83}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C51AA61E-5210-4545-B49E-61255C136B83}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -138,10 +134,6 @@ Global
{981419D7-5199-4829-ABE2-421D05EF7D8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{981419D7-5199-4829-ABE2-421D05EF7D8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{981419D7-5199-4829-ABE2-421D05EF7D8C}.Release|Any CPU.Build.0 = Release|Any CPU
{1F6D9B7A-36A0-4B71-825B-77F832B425A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1F6D9B7A-36A0-4B71-825B-77F832B425A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F6D9B7A-36A0-4B71-825B-77F832B425A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F6D9B7A-36A0-4B71-825B-77F832B425A5}.Release|Any CPU.Build.0 = Release|Any CPU
{B8BA8F89-8028-4691-82C6-8F9E946B6B22}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B8BA8F89-8028-4691-82C6-8F9E946B6B22}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B8BA8F89-8028-4691-82C6-8F9E946B6B22}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -154,6 +146,14 @@ Global
{CDE3C0B5-CD0B-42DE-9CE1-638266A2A1AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CDE3C0B5-CD0B-42DE-9CE1-638266A2A1AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CDE3C0B5-CD0B-42DE-9CE1-638266A2A1AE}.Release|Any CPU.Build.0 = Release|Any CPU
{63BB9836-126B-4E65-92B9-019438185E41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{63BB9836-126B-4E65-92B9-019438185E41}.Debug|Any CPU.Build.0 = Debug|Any CPU
{63BB9836-126B-4E65-92B9-019438185E41}.Release|Any CPU.ActiveCfg = Release|Any CPU
{63BB9836-126B-4E65-92B9-019438185E41}.Release|Any CPU.Build.0 = Release|Any CPU
{1D06C79C-4E97-40F6-A860-092941922EFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1D06C79C-4E97-40F6-A860-092941922EFA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1D06C79C-4E97-40F6-A860-092941922EFA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1D06C79C-4E97-40F6-A860-092941922EFA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -174,13 +174,13 @@ Global
{8DC103BA-7404-479F-BF18-90EF3EC3CEA9} = {DA69F624-5398-4884-87E4-B816698CDE65}
{493CE126-D147-434E-ACF8-675E89D0A981} = {2429FBD8-1FCE-4C42-AA28-DF32F7249E77}
{C965ED06-6A17-4329-B3C6-811830F4F4ED} = {C4BC9889-B49F-41B6-806B-F84941B2549B}
{3F9B3FD8-A54F-4AB4-B9D4-D4D55686A0E9} = {C965ED06-6A17-4329-B3C6-811830F4F4ED}
{C51AA61E-5210-4545-B49E-61255C136B83} = {C965ED06-6A17-4329-B3C6-811830F4F4ED}
{981419D7-5199-4829-ABE2-421D05EF7D8C} = {2429FBD8-1FCE-4C42-AA28-DF32F7249E77}
{1F6D9B7A-36A0-4B71-825B-77F832B425A5} = {C965ED06-6A17-4329-B3C6-811830F4F4ED}
{B8BA8F89-8028-4691-82C6-8F9E946B6B22} = {2429FBD8-1FCE-4C42-AA28-DF32F7249E77}
{5D97A2CB-DCD6-4865-9C39-34687A14AAE1} = {2429FBD8-1FCE-4C42-AA28-DF32F7249E77}
{CDE3C0B5-CD0B-42DE-9CE1-638266A2A1AE} = {C4BC9889-B49F-41B6-806B-F84941B2549B}
{63BB9836-126B-4E65-92B9-019438185E41} = {C965ED06-6A17-4329-B3C6-811830F4F4ED}
{1D06C79C-4E97-40F6-A860-092941922EFA} = {C965ED06-6A17-4329-B3C6-811830F4F4ED}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7945A4E4-ACDB-4F6E-95CA-6AC6E7C2CD59}
Expand Down
3 changes: 2 additions & 1 deletion build/dependencies.props
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@

<!-- Samples -->
<MicrosoftAspNetCorePackageVersion>2.1.0</MicrosoftAspNetCorePackageVersion>
<MicrosoftAspNetCoreSignalRClientPackageVersion>1.1.0</MicrosoftAspNetCoreSignalRClientPackageVersion>
<MicrosoftAspNetCoreSignalRClientPackageVersion>3.1.2</MicrosoftAspNetCoreSignalRClientPackageVersion>
<MicrosoftAspNetCoreSignalRProtocolsMessagePackVersion>3.1.2</MicrosoftAspNetCoreSignalRProtocolsMessagePackVersion>
<NewtonsoftJsonPackageVersion>11.0.2</NewtonsoftJsonPackageVersion>
<MicrosoftOwinPackageVersion>2.1.0</MicrosoftOwinPackageVersion>
<OwinPackageVersion>1.0.0</OwinPackageVersion>
Expand Down
105 changes: 78 additions & 27 deletions docs/rest-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,28 @@
>
> Azure SignalR Service only supports REST API for ASP.NET CORE SignalR applications.
- [REST API in Azure SignalR Service](#rest-api-in-azure-signalr-service)
- [Typical Server-less Architecture with Azure Functions](#typical-server-less-architecture-with-azure-functions)
- [API](#api)
- [Broadcast message to all clients](#broadcast-message-to-all-clients)
- [Broadcast message to a group](#broadcast-message-to-a-group)
- [Send message to a user](#send-message-to-a-user)
- [Add a connection to a group](#add-a-connection-to-a-group)
- [Remove a connection from a group](#remove-a-connection-from-a-group)
- [Add a user to a group](#add-a-user-to-a-group)
- [Remove a user from a group](#remove-a-user-from-a-group)
- [Remove a user from all groups](#remove-a-user-from-all-groups)
- [Check user existence in a group](#check-user-existence-in-a-group)
- [Using REST API](#using-rest-api)
- [Authentication](#authentication)
- [Signing Algorithm and Signature](#signing-algorithm-and-signature)
- [Claims](#claims)
- [Implement Negotiate Endpoint](#implement-negotiate-endpoint)
- [User-related REST API](#user-related-rest-api)
- [Sample](#sample)
- [REST API in Azure SignalR Service](#REST-API-in-Azure-SignalR-Service)
- [Typical Server-less Architecture with Azure Functions](#Typical-Server-less-Architecture-with-Azure-Functions)
- [API](#API)
- [Broadcast message to all clients](#Broadcast-message-to-all-clients)
- [Broadcast message to a group](#Broadcast-message-to-a-group)
- [Send message to a user](#Send-message-to-a-user)
- [Send message to a connection](#Send-message-to-a-connection)
- [Add a connection to a group](#Add-a-connection-to-a-group)
- [Remove a connection from a group](#Remove-a-connection-from-a-group)
- [Add a user to a group](#Add-a-user-to-a-group)
- [Remove a user from a group](#Remove-a-user-from-a-group)
- [Check user existence in a group](#Check-user-existence-in-a-group)
- [Remove a user from all groups](#Remove-a-user-from-all-groups)
- [Close a client connection](#Close-a-client-connection)
- [Service Health](#Service-Health)
- [Using REST API](#Using-REST-API)
- [Authentication](#Authentication)
- [Signing Algorithm and Signature](#Signing-Algorithm-and-Signature)
- [Claims](#Claims)
- [Implement Negotiate Endpoint](#Implement-Negotiate-Endpoint)
- [User-related REST API](#User-related-REST-API)
- [Sample](#Sample)

On top of classical client-server pattern, Azure SignalR Service provides a set of REST APIs, so that you can easily integrate real-time functionality into your server-less architecture.

Expand Down Expand Up @@ -60,9 +63,15 @@ API | `1.0-preview` | `1.0`
Broadcast to a few groups | :heavy_check_mark: (Deprecated) | `N/A`
[Send to a user](#send-user) | :heavy_check_mark: | :heavy_check_mark:
Send to a few users | :heavy_check_mark: (Deprecated) | `N/A`
[Send to a connection](#Send-message-to-a-connection) | `N/A` | :heavy_check_mark:
[Add a connection to a group](#Add-a-connection-to-a-group) | `N/A` | :heavy_check_mark:
[Remove a connection from a group](#Remove-a-connection-from-a-group) | `N/A` | :heavy_check_mark:
[Add a user to a group](#add-user-to-group) | `N/A` | :heavy_check_mark:
[Remove a user from a group](#remove-user-from-group) | `N/A` | :heavy_check_mark:
[Check user existence](#Check-user-existence-in-a-group) | `N/A` | :heavy_check_mark:
[Remove a user from all groups](#remove-user-from-all-groups) | `N/A` | :heavy_check_mark:
[Close a client connection](#Close-a-client-connection) | `N/A` | :heavy_check_mark:
[Service Health](#Service-Health) | `N/A` | :heavy_check_mark:

<a name="broadcast"></a>

Expand All @@ -74,6 +83,7 @@ API Version | HTTP Method | Request URL | Request Body
`1.0` | `POST` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>` | Same as above

<a name="broadcast-group"></a>

### Broadcast message to a group

API Version | HTTP Method | Request URL | Request Body
Expand All @@ -82,14 +92,24 @@ API Version | HTTP Method | Request URL | Request Body
`1.0` | `POST` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>` | Same as above

<a name="send-user"></a>

### Send message to a user

API Version | HTTP Method | Request URL | Request Body
---|---|---|---
`1.0-preview` | `POST` | `https://<instance-name>.service.signalr.net/api/v1-preview/hub/<hub-name>/user/<user-id>` | `{ "target":"<method-name>", "arguments":[ ... ] }`
`1.0` | `POST` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>` | Same as above

<a name="send-connection"></a>

### Send message to a connection

API Version | HTTP Method | Request URL | Request Body
---|---|---|---
`1.0` | `POST` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>` | `{ "target":"<method-name>", "arguments":[ ... ] }`

<a name="add-connection-to-group"></a>

### Add a connection to a group

API Version | HTTP Method | Request URL
Expand All @@ -98,6 +118,7 @@ API Version | HTTP Method | Request URL
`1.0` | `PUT` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name>`

<a name="remove-connection-from-group"></a>

### Remove a connection from a group

API Version | HTTP Method | Request URL
Expand All @@ -106,6 +127,7 @@ API Version | HTTP Method | Request URL
`1.0` | `DELETE` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name>`

<a name="add-user-to-group"></a>

### Add a user to a group

API Version | HTTP Method | Request URL
Expand All @@ -124,20 +146,49 @@ API Version | HTTP Method | Request URL
`1.0` | `DELETE` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>`
`1.0` | `DELETE` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups/<group-name>`

<a name="check-user-existence"></a>

### Check user existence in a group

API Version | HTTP Method | Request URL
---|---|---
`1.0` | `GET` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups/<group-name>`
`1.0` | `GET` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>`

Response Status Code | Description
---|---
`200` | User exists
`404` | User not exists

<a name="remove-user-from-all-groups"></a>

### Remove a user from all groups

| API Version | HTTP Method | Request URL |
| ----------- | ----------- | ------------------------------------------------------------ |
| `1.0` | `DELETE` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups` |
API Version | HTTP Method | Request URL
---|---|---
`1.0` | `DELETE` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups`

### Check user existence in a group
| API Version | HTTP Method | Request URL |
| ----------- | ----------- | ------------------------------------------------------------ |
| `1.0` | `GET` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups/<group-name>` |
| `1.0` | `GET` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id>` |
<a name="close-connection"></a>

### Close a client connection

API Version | HTTP Method | Request URL
---|---|---
`1.0` | `DELETE` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>`
`1.0` | `DELETE` | `https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>?reason=<close-reason>`

<a name="health-api"></a>

### Service Health

API Version | HTTP Method | Request URL
---|---|---
`1.0` | `GET` | `https://<instance-name>.service.signalr.net/api/v1/health`

Response Status Code | Description
---|---
`200` | Service Good
`503` | Service Unavailable

## Using REST API

Expand Down
Loading

0 comments on commit b0f0f74

Please sign in to comment.