Skip to content

Commit 2420700

Browse files
committed
Update to net8 and support hide the badge.
1 parent d44cd8e commit 2420700

File tree

7 files changed

+53
-24
lines changed

7 files changed

+53
-24
lines changed

Diff for: README.md

+26-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Owl.reCAPTCHA
2-
Google reCAPTCHA for ASP NET Core 7.0 (v3 and v2)
2+
Google reCAPTCHA for ASP NET Core (v3 and v2)
33

44
# Install-Package
55

@@ -30,6 +30,12 @@ services.AddreCAPTCHAV3(x =>
3030
3131
<recaptcha-script-v3 />
3232
33+
@*
34+
Hide-the-recaptcha-badge
35+
https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed
36+
<recaptcha-script-v3 hide-badge="true" />
37+
*@
38+
3339
<script>
3440
function callback(token) {
3541
document.getElementById("token").value = token;
@@ -58,6 +64,13 @@ services.AddreCAPTCHAV3(x =>
5864
</script>
5965
6066
<recaptcha-script-v3 />
67+
68+
@*
69+
Hide-the-recaptcha-badge
70+
https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed
71+
<recaptcha-script-v3 hide-badge="true" />
72+
*@
73+
6174
<recaptcha-script-v3-js action="login" execute="false" />
6275
```
6376

@@ -146,6 +159,12 @@ services.AddreCAPTCHAV2(x =>
146159
147160
<recaptcha-script-v2 onload="onload" />
148161
162+
@*
163+
Hide-the-recaptcha-badge
164+
https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed
165+
<recaptcha-script-v2 hide-badge="true" />
166+
*@
167+
149168
<form method="POST">
150169
<input id="token" name="token" type="text" />
151170
<input id="submit" type="submit" value="submit" />
@@ -168,6 +187,12 @@ services.AddreCAPTCHAV2(x =>
168187
169188
<recaptcha-script-v2 />
170189
190+
@*
191+
Hide-the-recaptcha-badge
192+
https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed
193+
<recaptcha-script-v2 hide-badge="true" />
194+
*@
195+
171196
<form id="demo-form" method="POST">
172197
<input id="token" name="token" type="text" />
173198
<button recaptcha-v2-callback="callback" recaptcha-v2-size="invisible">Submit</button>

Diff for: demo/reCAPTCHA.Demo/Pages/V2_Invisible.cshtml

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@
1313
}
1414
</script>
1515

16-
<recaptcha-script-v2 />
16+
<recaptcha-script-v2 hide-badge="true" />
1717

1818
<form id="demo-form" method="POST">
1919
<input id="token" name="token" type="text" />
2020
<button recaptcha-v2-callback="callback" recaptcha-v2-size="invisible">Submit</button>
2121
</form>
22-

Diff for: demo/reCAPTCHA.Demo/Pages/V3.cshtml

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@
2222
}
2323
</script>
2424

25-
<recaptcha-script-v3 />
26-
<recaptcha-script-v3-js action="login" callback="callback" />
25+
<recaptcha-script-v3 hide-badge="true" />
26+
<recaptcha-script-v3-js action="login" callback="callback" />

Diff for: demo/reCAPTCHA.Demo/reCAPTCHA.Demo.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Web">
22

33
<PropertyGroup>
4-
<TargetFramework>net7.0</TargetFramework>
4+
<TargetFramework>net8.0</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>

Diff for: src/Owl.reCAPTCHA/Owl.reCAPTCHA.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<TargetFramework>net7.0</TargetFramework>
4+
<TargetFramework>net8.0</TargetFramework>
55
<RootNamespace>Owl.reCAPTCHA</RootNamespace>
66
<PackageId>Owl.reCAPTCHA</PackageId>
77
<Authors>maliming</Authors>
88
<Description>reCAPTCHA for ASP NET Core</Description>
99
<PackageProjectUrl>https://github.com/maliming/reCAPTCHA</PackageProjectUrl>
1010
<RepositoryUrl>https://github.com/maliming/reCAPTCHA</RepositoryUrl>
1111
<RepositoryType>git</RepositoryType>
12-
<Version>7.0.0</Version>
12+
<Version>8.0.0</Version>
1313
<IsPackable>true</IsPackable>
1414
<OutputType>Library</OutputType>
1515
<PublishRepositoryUrl>true</PublishRepositoryUrl>
1616
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
17-
<PackageVersion>7.0.0</PackageVersion>
17+
<PackageVersion>8.0.0</PackageVersion>
1818
</PropertyGroup>
1919

2020
<ItemGroup>

Diff for: src/Owl.reCAPTCHA/v2/TagHelpers/reCAPTCHAV2ScriptTagHelper.cs

+11-11
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ public class reCAPTCHAV2ScriptTagHelper : TagHelper
1616

1717
public string Render { get; set; }
1818

19+
public bool HideBadge { get; set; }
20+
1921
private readonly reCAPTCHAOptions _options;
2022

2123
private readonly IreCAPTCHALanguageCodeProvider _reCAPTCHALanguageCodeProvider;
2224

23-
public reCAPTCHAV2ScriptTagHelper(IOptionsSnapshot<reCAPTCHAOptions> optionsAccessor,
25+
public reCAPTCHAV2ScriptTagHelper(IOptionsSnapshot<reCAPTCHAOptions> optionsAccessor,
2426
IreCAPTCHALanguageCodeProvider reCaptchaLanguageCodeProvider)
2527
{
2628
_options = optionsAccessor.Get(reCAPTCHAConsts.V2);
@@ -33,8 +35,7 @@ public override void Process(TagHelperContext context, TagHelperOutput output)
3335
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
3436
*/
3537

36-
output.TagName = "script";
37-
output.TagMode = TagMode.StartTagAndEndTag;
38+
output.TagName = "";
3839

3940
var src = $"{_options.VerifyBaseUrl.RemovePostFix(StringComparison.OrdinalIgnoreCase, "/")}/recaptcha/api.js?" +
4041
$"hl={_reCAPTCHALanguageCodeProvider.GetLanguageCode()}";
@@ -47,15 +48,14 @@ public override void Process(TagHelperContext context, TagHelperOutput output)
4748
src += $"&render={Render}";
4849
}
4950

50-
output.Attributes.Add(new TagHelperAttribute("src", new HtmlString(src)));
51+
var scriptAsync = ScriptAsync ? "async" : string.Empty;
52+
var scriptDefer = ScriptDefer ? "defer" : string.Empty;
5153

52-
if (ScriptAsync)
53-
{
54-
output.Attributes.Add(new TagHelperAttribute("async"));
55-
}
56-
if (ScriptDefer)
54+
output.Content.SetHtmlContent($"<script {scriptAsync} {scriptDefer} src=\"{src}\"></script>");
55+
56+
if (HideBadge)
5757
{
58-
output.Attributes.Add(new TagHelperAttribute("defer"));
58+
output.PostElement.SetHtmlContent("<style>.grecaptcha-badge{visibility:hidden;}</style>");
5959
}
6060
}
61-
}
61+
}

Diff for: src/Owl.reCAPTCHA/v3/TagHelpers/reCAPTCHAV3ScriptTagHelper.cs

+9-4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ namespace Owl.reCAPTCHA.v3.TagHelpers;
88
[HtmlTargetElement("recaptcha-script-v3", TagStructure = TagStructure.WithoutEndTag)]
99
public class reCAPTCHAV3ScriptTagHelper : TagHelper
1010
{
11+
public bool HideBadge { get; set; }
12+
1113
private readonly reCAPTCHAOptions _options;
1214

1315
private readonly IreCAPTCHALanguageCodeProvider _reCAPTCHALanguageCodeProvider;
@@ -24,12 +26,15 @@ public override void Process(TagHelperContext context, TagHelperOutput output)
2426
/*
2527
<script src="https://www.google.com/recaptcha/api.js?render=_reCAPTCHA_site_key"></script>
2628
*/
27-
28-
output.TagName = "script";
29-
output.TagMode = TagMode.StartTagAndEndTag;
29+
output.TagName = "";
3030

3131
var src = $"{_options.VerifyBaseUrl.RemovePostFix(StringComparison.OrdinalIgnoreCase, "/")}/recaptcha/api.js?hl={_reCAPTCHALanguageCodeProvider.GetLanguageCode()}&render={_options.SiteKey}";
3232

33-
output.Attributes.Add(new TagHelperAttribute("src", new HtmlString(src)));
33+
output.Content.SetHtmlContent($"<script src=\"{src}\"></script>");
34+
35+
if (HideBadge)
36+
{
37+
output.PostElement.SetHtmlContent("<style>.grecaptcha-badge{visibility:hidden;}</style>");
38+
}
3439
}
3540
}

0 commit comments

Comments
 (0)