Skip to content

Commit ceaf0f1

Browse files
committed
Updated versions and documentation
1 parent 2c3b110 commit ceaf0f1

File tree

8 files changed

+271
-4
lines changed

8 files changed

+271
-4
lines changed

src/Umbraco.Cms.Integrations.Crm.Dynamics/Umbraco.Cms.Integrations.Crm.Dynamics.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<PackageIconUrl></PackageIconUrl>
1111
<PackageProjectUrl>https://github.com/umbraco/Umbraco.Cms.Integrations/blob/main/src/Umbraco.Cms.Integrations.Crm.Dynamics</PackageProjectUrl>
1212
<RepositoryUrl>https://github.com/umbraco/Umbraco.Cms.Integrations</RepositoryUrl>
13-
<Version>1.1.3</Version>
13+
<Version>1.2.0</Version>
1414
<Authors>Umbraco HQ</Authors>
1515
<Company>Umbraco</Company>
1616
<PackageTags>Umbraco;Umbraco-Marketplace</PackageTags>

src/Umbraco.Cms.Integrations.Crm.Dynamics/readme.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,70 @@ And render the form using (assuming a property based on the created data type, w
6969
```
7070

7171
The selected form is embedded either through an _iframe_, or using JS scripts.
72+
73+
## Authorization Workflow
74+
Starting with version 1.2.0 of the integration, the OAuth flow can be configured to use different Authorization Servers without requests routed through the `OAuth Proxy for Umbraco Integrations`.
75+
76+
### Configuration
77+
To use the new setup, the following configuration is used:
78+
```
79+
<appSettings>
80+
...
81+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.HostUrl" value="https://[INSTANCE].crm4.dynamics.com/" />
82+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.ApiPath" value="api/data/v9.2/" />
83+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.UseUmbracoAuthorization" value="true" />
84+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.ClientId" value="[YOUR_CLIENT_ID]" />
85+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.ClientSecret" value="[YOUR_CLIENT_SECRET]" />
86+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.RedirectUri" value="https://[YOUR_WEBSITE_BASE_URL]/umbraco/api/dynamicsauthorization/oauth" />
87+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.Scopes" value="https://[INSTANCE].crm4.dynamics.com/.default" />
88+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.AuthorizationEndpoint" value="https://login.microsoftonline.com/common/oauth2/v2.0/authorize" />
89+
<add key="Umbraco.Cms.Integrations.Crm.Dynamics.TokenEndpoint" value="https://login.microsoftonline.com/common/oauth2/v2.0/token" />
90+
...
91+
</appSettings>
92+
```
93+
94+
or,
95+
96+
```
97+
"Umbraco": {
98+
"CMS": {
99+
"Integrations": {
100+
"Crm": {
101+
"Dynamics": {
102+
"Settings": {
103+
"HostUrl": "https://[INSTANCE].crm4.dynamics.com/",
104+
"ApiPath": "api/data/v9.2/",
105+
"UseUmbracoAuthorization": true
106+
},
107+
"OAuthSettings": {
108+
"ClientId": "[YOUR_CLIENT_ID]",
109+
"ClientSecret": "[YOUR_CLIENT_SECRET]",
110+
"RedirectUri": "https://[YOUR_WEBSITE_BASE_URL]/umbraco/api/dynamicsauthorization/oauth",
111+
"AuthorizationEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
112+
"TokenEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
113+
"Scopes": "https://[INSTANCE].crm4.dynamics.com/.default"
114+
}
115+
},
116+
}
117+
}
118+
}
119+
}
120+
```
121+
122+
### Configuration Breakdown
123+
- ClientId - client id of your own app
124+
- ClientSecret - client secret of your own app
125+
- RedirectUri - endpoint for Authorization controller that will receive the authorization code from the auth server
126+
- AuthorizationEndpoint - provider URL for handling authorization
127+
- TokenEndpoint - provider URL for retrieving access tokens
128+
129+
### Implementation
130+
The `UseUmbracoAuthorization` flag will toggle between the default Umbraco authorization service and the custom one that will use your private configuration.
131+
132+
`UmbracoAuthorizationService` provides the same implementation as on the previous versions of the package, while the `AuthorizationService` builds a custom authorization flow based on the provided settings.
133+
134+
Both implement `IDynamicsAuthorizationService` endpoint and provide the required endpoints for building the authorization URL and retrieving the acces token.
135+
136+
The `AuthorizationImplementationFactory` is used to load the proper injected authorization service.
137+
138+
`DynamicsAuthorizationController` with its `OAuth` action will handle the response from the Authorization Server and send the proper message to the client using the `window.opener` interface.

src/Umbraco.Cms.Integrations.Crm.Hubspot/Umbraco.Cms.Integrations.Crm.Hubspot.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<PackageIconUrl></PackageIconUrl>
1111
<PackageProjectUrl>https://github.com/umbraco/Umbraco.Cms.Integrations/blob/main/src/Umbraco.Cms.Integrations.Crm.Hubspot</PackageProjectUrl>
1212
<RepositoryUrl>https://github.com/umbraco/Umbraco.Cms.Integrations</RepositoryUrl>
13-
<Version>2.0.1</Version>
13+
<Version>2.1.0</Version>
1414
<Authors>Umbraco HQ</Authors>
1515
<Company>Umbraco</Company>
1616
<PackageTags>Umbraco;Umbraco-Marketplace</PackageTags>

src/Umbraco.Cms.Integrations.Crm.Hubspot/readme.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,73 @@ And render the form using (assuming a property based on the created data type, w
7878
@Html.RenderHubspotForm(Model.HubspotForm)
7979
```
8080

81+
## Authorization Workflow
82+
Starting with version 2.1.0 of the integration, the OAuth flow can be configured to use different Authorization Servers without requests routed through the `OAuth Proxy for Umbraco Integrations`.
83+
84+
### Configuration
85+
To use the new setup, the following configuration is used:
86+
```
87+
<appSettings>
88+
...
89+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.Region" value="[REGION]" />
90+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.ApiKey" value="[YOUR_PRIVATE_APP_ACCESS_TOKEN]" />
91+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.UseUmbracoAuthorization" value="true" />
92+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.ClientId" value="[YOUR_CLIENT_ID]" />
93+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.ClientSecret" value="[YOUR_CLIENT_SECRET]" />
94+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.RedirectUri" value="https://[YOUR_WEBSITE_BASE_URL]/umbraco/api/hubspotauthorization/oauth" />
95+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.Scopes" value="[SCOPES]" />
96+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.AuthorizationEndpoint" value="[AUTHORIZATION_ENDPOINT]" />
97+
<add key="Umbraco.Cms.Integrations.Crm.Hubspot.TokenEndpoint" value="[TOKEN_ENDPOINT]" />
98+
...
99+
</appSettings>
100+
```
101+
102+
or,
103+
104+
```
105+
"Umbraco": {
106+
"CMS": {
107+
"Integrations": {
108+
"Crm": {
109+
"Hubspot": {
110+
"Settings": {
111+
"Region": "[REGION]",
112+
"ApiKey": "[YOUR_PRIVATE_APP_ACCESS_TOKEN]",
113+
"UseUmbracoAuthorization": true
114+
},
115+
"OAuthSettings": {
116+
"ClientId": "[YOUR_CLIENT_ID]",
117+
"ClientSecret": "[YOUR_CLIENT_SECRET]",
118+
"RedirectUri": "https://[YOUR_WEBSITE_BASE_URL]/umbraco/api/hubspotauthorization/oauth",
119+
"AuthorizationEndpoint": "[AUTHORIZATION_ENDPOINT]",
120+
"TokenEndpoint": "[TOKEN_ENDPOINT]",
121+
"Scopes": "[SCOPES]"
122+
}
123+
},
124+
}
125+
}
126+
}
127+
}
128+
```
129+
130+
### Configuration Breakdown
131+
- ClientId - client id of your own app
132+
- ClientSecret - client secret of your own app
133+
- RedirectUri - endpoint for Authorization controller that will receive the authorization code from the auth server
134+
- AuthorizationEndpoint - provider URL for handling authorization
135+
- TokenEndpoint - provider URL for retrieving access tokens
136+
137+
### Implementation
138+
The `UseUmbracoAuthorization` flag will toggle between the default Umbraco authorization service and the custom one that will use your private configuration.
139+
140+
`UmbracoAuthorizationService` provides the same implementation as on the previous versions of the package, while the `AuthorizationService` builds a custom authorization flow based on the provided settings.
141+
142+
Both implement `IHubspotAuthorizationService` endpoint and provide the required endpoints for building the authorization URL and retrieving the acces token.
143+
144+
The `AuthorizationImplementationFactory` is used to load the proper injected authorization service.
145+
146+
`HubspotAuthorizationController` with its `OAuth` action will handle the response from the Authorization Server and send the proper message to the client using the `window.opener` interface.
147+
81148
### Developer Notes
82149

83150
To copy the front-end assets to the test site While in DEBUG mode, use following post build events:

src/Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.UrlInspectionTool/Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.URLInspectionTool.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<PackageIconUrl></PackageIconUrl>
1111
<PackageProjectUrl>https://github.com/umbraco/Umbraco.Cms.Integrations/blob/main/src/Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.UrlInspectionTool</PackageProjectUrl>
1212
<RepositoryUrl>https://github.com/umbraco/Umbraco.Cms.Integrations</RepositoryUrl>
13-
<Version>1.0.3</Version>
13+
<Version>1.1.0</Version>
1414
<Authors>Umbraco HQ</Authors>
1515
<Company>Umbraco</Company>
1616
<PackageTags>Umbraco;Umbraco-Marketplace</PackageTags>

src/Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.UrlInspectionTool/readme.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,68 @@ The URL Inspection Tool API expects three parameters, two mandatory:
4242

4343
More information can be found [here](https://developers.google.com/webmaster-tools/v1/urlInspection.index/inspect)
4444

45+
## Authorization Workflow
46+
Starting with version 1.1.0 of the integration, the OAuth flow can be configured to use different Authorization Servers without requests routed through the `OAuth Proxy for Umbraco Integrations`.
47+
48+
### Configuration
49+
To use the new setup, the following configuration is used:
50+
```
51+
<appSettings>
52+
...
53+
<add key="Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.InspectUrl" value="https://searchconsole.googleapis.com/v1/urlInspection/index:inspect" />
54+
<add key="Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.UseUmbracoAuthorization" value="true" />
55+
<add key="Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.ClientId" value="[YOUR_CLIENT_ID]" />
56+
<add key="Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.ClientSecret" value="[YOUR_CLIENT_SECRET]" />
57+
<add key="Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.RedirectUri" value="https://[YOUR_WEBSITE_BASE_URL]/umbraco/api/googleauthorization/oauth" />
58+
<add key="Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.Scopes" value="[SCOPES]" />
59+
<add key="Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.AuthorizationEndpoint" value="[AUTHORIZATION_ENDPOINT]" />
60+
<add key="Umbraco.Cms.Integrations.SEO.GoogleSearchConsole.TokenEndpoint" value="[TOKEN_ENDPOINT]" />
61+
...
62+
</appSettings>
63+
```
64+
65+
or,
66+
67+
```
68+
"Umbraco": {
69+
"CMS": {
70+
"Integrations": {
71+
"SEO": {
72+
"GoogleSearchConsole": {
73+
"Settings": {
74+
"InspectUrl": "https://searchconsole.googleapis.com/v1/urlInspection/index:inspect",
75+
"UseUmbracoAuthorization": true
76+
},
77+
"OAuthSettings": {
78+
"ClientId": "[YOUR_CLIENT_ID]",
79+
"ClientSecret": "[YOUR_CLIENT_SECRET]",
80+
"RedirectUri": "https://[YOUR_WEBSITE_BASE_URL]/umbraco/api/googleauthorization/oauth",
81+
"AuthorizationEndpoint": "[AUTHORIZATION_ENDPOINT]",
82+
"TokenEndpoint": "[TOKEN_ENDPOINT]",
83+
"Scopes": "[SCOPES]"
84+
}
85+
},
86+
}
87+
}
88+
}
89+
}
90+
```
91+
92+
### Configuration Breakdown
93+
- ClientId - client id of your own app
94+
- ClientSecret - client secret of your own app
95+
- RedirectUri - endpoint for Authorization controller that will receive the authorization code from the auth server
96+
- AuthorizationEndpoint - provider URL for handling authorization
97+
- TokenEndpoint - provider URL for retrieving access tokens
98+
99+
### Implementation
100+
The `UseUmbracoAuthorization` flag will toggle between the default Umbraco authorization service and the custom one that will use your private configuration.
101+
102+
`UmbracoAuthorizationService` provides the same implementation as on the previous versions of the package, while the `AuthorizationService` builds a custom authorization flow based on the provided settings.
103+
104+
Both implement `IGoogleAuthorizationService` endpoint and provide the required endpoints for building the authorization URL and retrieving the acces token.
105+
106+
The `AuthorizationImplementationFactory` is used to load the proper injected authorization service.
107+
108+
`GoogleAuthorizationController` with its `OAuth` action will handle the response from the Authorization Server and send the proper message to the client using the `window.opener` interface.
109+

src/Umbraco.Cms.Integrations.SEO.Semrush/Umbraco.Cms.Integrations.SEO.Semrush.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<PackageIconUrl></PackageIconUrl>
1111
<PackageProjectUrl>https://github.com/umbraco/Umbraco.Cms.Integrations/blob/main/src/Umbraco.Cms.Integrations.SEO.Semrush</PackageProjectUrl>
1212
<RepositoryUrl>https://github.com/umbraco/Umbraco.Cms.Integrations</RepositoryUrl>
13-
<Version>1.1.3</Version>
13+
<Version>1.2.0</Version>
1414
<Authors>Umbraco HQ</Authors>
1515
<Company>Umbraco</Company>
1616
<PackageTags>Umbraco;Umbraco-Marketplace</PackageTags>

src/Umbraco.Cms.Integrations.SEO.Semrush/readme.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,74 @@ Adminstrators are provided with additional features for managing the connectivit
2020

2121
For more detail on the integration, it's purpose and how it was built, please see the accompanying blog post _(link TBC when published)_.
2222

23+
## Authorization Workflow
24+
Starting with version 1.2.0 of the integration, the OAuth flow can be configured to use different Authorization Servers without requests routed through the `OAuth Proxy for Umbraco Integrations`.
25+
26+
### Configuration
27+
To use the new setup, the following configuration is used:
28+
```
29+
<appSettings>
30+
...
31+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.BaseUrl" value="https://oauth.semrush.com/" />
32+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.UseUmbracoAuthorization" value="true" />
33+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.Ref" value="[REF]" />
34+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.ClientId" value="[YOUR_CLIENT_ID]" />
35+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.ClientSecret" value="[YOUR_CLIENT_SECRET]" />
36+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.RedirectUri" value="https://[YOUR_WEBSITE_BASE_URL]/umbraco/api/semrushauthorization/oauth" />
37+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.Scopes" value="[SCOPES]" />
38+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.AuthorizationEndpoint" value="[AUTHORIZATION_ENDPOINT]" />
39+
<add key="Umbraco.Cms.Integrations.SEO.Semrush.TokenEndpoint" value="[TOKEN_ENDPOINT]" />
40+
...
41+
</appSettings>
42+
```
43+
44+
or,
45+
46+
```
47+
"Umbraco": {
48+
"CMS": {
49+
"Integrations": {
50+
"SEO": {
51+
"Semrush": {
52+
"Settings": {
53+
"BaseUrl": "https://oauth.semrush.com/",
54+
"UseUmbracoAuthorization": true
55+
},
56+
"OAuthSettings": {
57+
"Ref": "[REF]",
58+
"ClientId": "[YOUR_CLIENT_ID]",
59+
"ClientSecret": "[YOUR_CLIENT_SECRET]",
60+
"RedirectUri": "https://[YOUR_WEBSITE_BASE_URL]/umbraco/api/semrushauthorization/oauth",
61+
"AuthorizationEndpoint": "[AUTHORIZATION_ENDPOINT]",
62+
"TokenEndpoint": "[TOKEN_ENDPOINT]",
63+
"Scopes": "[SCOPES]"
64+
}
65+
},
66+
}
67+
}
68+
}
69+
}
70+
```
71+
72+
### Configuration Breakdown
73+
- Ref - reference number received from Semrush
74+
- ClientId - client id of your own app
75+
- ClientSecret - client secret of your own app
76+
- RedirectUri - endpoint for Authorization controller that will receive the authorization code from the auth server
77+
- AuthorizationEndpoint - provider URL for handling authorization
78+
- TokenEndpoint - provider URL for retrieving access tokens
79+
80+
### Implementation
81+
The `UseUmbracoAuthorization` flag will toggle between the default Umbraco authorization service and the custom one that will use your private configuration.
82+
83+
`UmbracoAuthorizationService` provides the same implementation as on the previous versions of the package, while the `AuthorizationService` builds a custom authorization flow based on the provided settings.
84+
85+
Both implement `ISemrushAuthorizationService` endpoint and provide the required endpoints for building the authorization URL and retrieving the acces token.
86+
87+
The `AuthorizationImplementationFactory` is used to load the proper injected authorization service.
88+
89+
`SemrushAuthorizationController` with its `OAuth` action will handle the response from the Authorization Server and send the proper message to the client using the `window.opener` interface.
90+
2391

2492

2593

0 commit comments

Comments
 (0)