You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
:::image type="content" source="media/self-service-sign-up-user-flow/enable-self-service-sign-up.png" alt-text="Screenshot of the enable guest self-service sign up toggle.":::
56
+
56
57
5. Select **Save**.
57
58
## Create the user flow for self-service sign-up
58
59
@@ -63,17 +64,17 @@ Next, you'll create the user flow for self-service sign-up and add it to an appl
63
64
3. In the left menu, select **External Identities**.
64
65
4. Select **User flows**, and then select **New user flow**.
65
66
66
-

67
+
:::image type="content" source="media/self-service-sign-up-user-flow/new-user-flow.png" alt-text="Screenshot of the new user flow button.":::
67
68
68
69
5. Select the user flow type (for example, **Sign up and sign in**), and then select the version (**Recommended** or **Preview**).
69
-
6. On the **Create** page, enter a **Name** for the user flow. Note that the name is automatically prefixed with **B2X_1_**.
70
+
6. On the **Create** page, enter a **Name** for the user flow. The name is automatically prefixed with **B2X_1_**.
70
71
7. In the **Identity providers** list, select one or more identity providers that your external users can use to log into your application. **Azure Active Directory Sign up** is selected by default. (See [Before you begin](#before-you-begin) earlier in this article to learn how to add identity providers.)
71
-
8. Under **User attributes**, choose the attributes you want to collect from the user. For additional attributes, select **Show more**. For example, select **Show more**, and then choose attributes and claims for **Country/Region**, **Display Name**, and **Postal Code**. Select **OK**.
72
+
8. Under **User attributes**, choose the attributes you want to collect from the user. For more attributes, select **Show more**. For example, select **Show more**, and then choose attributes and claims for **Country/Region**, **Display Name**, and **Postal Code**. Select **OK**.
72
73
73
-

74
+
:::image type="content" source="media/self-service-sign-up-user-flow/create-user-flow.png" alt-text="Screenshot of the new user flow creation page. ":::
74
75
75
-
> [!NOTE]
76
-
> You can only collect attributes when a user signs up for the first time. After a user signs up, they will no longer be prompted to collect attribute information, even if you change the user flow.
76
+
> [!NOTE]
77
+
> You can only collect attributes when a user signs up for the first time. After a user signs up, they will no longer be prompted to collect attribute information, even if you change the user flow.
77
78
78
79
8. Select **Create**.
79
80
9. The new user flow appears in the **User flows** list. If necessary, refresh the page.
@@ -86,7 +87,7 @@ You can choose order in which the attributes are displayed on the sign-up page.
3. Select the self-service sign-up user flow from the list.
88
89
4. Under **Customize**, select **Page layouts**.
89
-
5. The attributes you chose to collect are listed. To change the order of display, select an attribute, and then select **Move up**, **Move down**, **Move to the top**, or **Move to the bottom**.
90
+
5. The attributes you chose to collect are listed. To change the order of display, select an attribute, and then select **Move up**, **Move down**, **Move to top**, or **Move to bottom**.
90
91
6. Select **Save**.
91
92
92
93
## Add applications to the self-service sign-up user flow
@@ -101,7 +102,7 @@ Now you'll associate applications with the user flow to enable sign-up for those
101
102
6. In the left menu, under **Use**, select **Applications**.
102
103
7. Select **Add application**.
103
104
104
-

105
+
:::image type="content" source="media/self-service-sign-up-user-flow/assign-app-to-user-flow.png" alt-text="Screenshot of adding an application to the user flow.":::
105
106
106
107
8. Select the application from the list. Or use the search box to find the application, and then select it.
107
108
9. Click **Select**.
@@ -112,4 +113,3 @@ Now you'll associate applications with the user flow to enable sign-up for those
112
113
-[Add Facebook to your list of social identity providers](facebook-federation.md)
113
114
-[Use API connectors to customize and extend your user flows via web APIs](api-connectors-overview.md)
114
115
-[Add custom approval workflow to your user flow](self-service-sign-up-add-approvals.md)
115
-
-[Learn more about initiating an OAuth 2.0 authorization code flow](../develop/v2-oauth2-auth-code-flow.md#request-an-authorization-code)
> Start/Stop VM during off-hours, version 1 is going to retire soon by CY23 and is unavailable in the marketplace now. We recommend that you start using [version 2](/articles/azure-functions/start-stop-vms/overview.md), which is now generally available. The new version offers all existing capabilities and provides new features, such as multi-subscription support from a single Start/Stop instance. If you have the version 1 solution already deployed, you can still use the feature, and we will provide support until retirement in CY23. The details on announcement will be shared soon.
14
+
> Start/Stop VM during off-hours, version 1 is going to retire soon by CY23 and is unavailable in the marketplace now. We recommend that you start using [version 2](https://learn.microsoft.com/azure/azure-functions/start-stop-vms/overview), which is now generally available. The new version offers all existing capabilities and provides new features, such as multi-subscription support from a single Start/Stop instance. If you have the version 1 solution already deployed, you can still use the feature, and we will provide support until retirement in CY23. The details on announcement will be shared soon.
15
15
16
16
The Start/Stop VMs during off-hours feature start or stops enabled Azure VMs. It starts or stops machines on user-defined schedules, provides insights through Azure Monitor logs, and sends optional emails by using [action groups](../azure-monitor/alerts/action-groups.md). The feature can be enabled on both Azure Resource Manager and classic VMs for most scenarios.
@@ -38,13 +40,9 @@ public static SignalRConnectionInfo Negotiate(
38
40
39
41
# [Isolated process](#tab/isolated-process)
40
42
41
-
The following example shows a SignalR trigger that reads a message string from one hub using a SignalR trigger and writes it to a second hub using an output binding. The data required to connect to the output binding is obtained as a `MyConnectionInfo` object from an input binding defined using a `SignalRConnectionInfo` attribute.
43
+
The following example shows a SignalR trigger that reads a message string from one hub using a SignalR trigger and writes it to a second hub using an output binding. The data required to connect to the output binding is obtained as a `MyConnectionInfo` object from an input binding defined using a `SignalRConnectionInfo` attribute.
@@ -77,8 +75,8 @@ public static SignalRConnectionInfo Run(HttpRequest req, SignalRConnectionInfo c
77
75
```
78
76
79
77
---
80
-
::: zone-end
81
-
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
78
+
::: zone-end
79
+
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
82
80
83
81
The following example shows a SignalR connection info input binding in a *function.json* file and a function that uses the binding to return the connection information.
The following example shows a SignalR connection info input binding in a *function.json* file and a [Python function](functions-reference-python.md) that uses the binding to return the connection information.
The following example shows a [Java function](functions-reference-java.md) that acquires SignalR connection information using the input binding and returns it over HTTP.
@@ -146,7 +144,7 @@ public SignalRConnectionInfo negotiate(
146
144
}
147
145
```
148
146
149
-
:::zone-end
147
+
:::zone-end
150
148
151
149
## Usage
152
150
@@ -165,7 +163,7 @@ You can set the `UserId` property of the binding to the value from either header
// The serialization of the connection info object is done by the framework. It should be camel case. The SignalR client respects the camel case response only.
184
+
returnconnectionInfo;
185
+
}
186
+
```
181
187
182
188
# [C# Script](#tab/csharp-script)
183
189
@@ -214,10 +220,21 @@ public static SignalRConnectionInfo Run(HttpRequest req, SignalRConnectionInfo c
214
220
::: zone-end
215
221
216
222
::: zone pivot="programming-language-java"
217
-
SignalR trigger isn't currently supported for Java.
218
-
::: zone-end
219
-
220
-
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
::: zone pivot="programming-language-javascript,programming-language-python,programming-language-powershell"
221
238
222
239
You can set the `userId` property of the binding to the value from either header using a [binding expression](./functions-bindings-expressions-patterns.md): `{headers.x-ms-client-principal-id}` or `{headers.x-ms-client-principal-name}`.
223
240
@@ -235,7 +252,7 @@ Here's binding data in the *function.json* file:
You can set the `userId` property of the binding to the value from either header using a [binding expression](./functions-bindings-expressions-patterns.md): `{headers.x-ms-client-principal-id}` or `{headers.x-ms-client-principal-name}`.
@@ -330,9 +347,9 @@ The following table explains the binding configuration properties that you set i
330
347
331
348
---
332
349
333
-
::: zone-end
334
-
::: zone pivot="programming-language-java"
335
-
350
+
::: zone-end
351
+
::: zone pivot="programming-language-java"
352
+
336
353
## Annotations
337
354
338
355
The following table explains the supported settings for the `SignalRConnectionInfoInput` annotation.
@@ -344,8 +361,8 @@ The following table explains the supported settings for the `SignalRConnectionIn
344
361
|**userId**| Optional: The value of the user identifier claim to be set in the access key token. |
345
362
|**connectionStringSetting**| The name of the app setting that contains the SignalR Service connection string, which defaults to `AzureSignalRConnectionString`. |
346
363
347
-
::: zone-end
348
-
::: zone pivot="programming-language-javascript,programming-language-powershell,programming-language-python"
364
+
::: zone-end
365
+
::: zone pivot="programming-language-javascript,programming-language-powershell,programming-language-python"
349
366
## Configuration
350
367
351
368
The following table explains the binding configuration properties that you set in the *function.json* file.
@@ -364,4 +381,4 @@ The following table explains the binding configuration properties that you set i
364
381
## Next steps
365
382
366
383
-[Handle messages from SignalR Service (Trigger binding)](./functions-bindings-signalr-service-trigger.md)
367
-
-[Send SignalR Service messages (Output binding)](./functions-bindings-signalr-service-output.md)
384
+
-[Send SignalR Service messages (Output binding)](./functions-bindings-signalr-service-output.md)
The following example shows a function that sends a message using the output binding to all connected clients. The *newMessage* is the name of the method to be invoked on each client.
0 commit comments