HarvestConnect 1.0.0
dotnet add package HarvestConnect --version 1.0.0
NuGet\Install-Package HarvestConnect -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HarvestConnect" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HarvestConnect --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: HarvestConnect, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install HarvestConnect as a Cake Addin #addin nuget:?package=HarvestConnect&version=1.0.0 // Install HarvestConnect as a Cake Tool #tool nuget:?package=HarvestConnect&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Harvest connect
Helper for authenticating via Harvest (https://www.getharvest.com)
How to use?
- Register a OAuth client over at https://<YOURACCOUNT>.harvestapp.com/oauth2_clients
- Install clone this repo and include it in your project.
- Use the code below to set it up.
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthorization();
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = HarvestOptions.Scheme;
options.DefaultChallengeScheme = HarvestOptions.Scheme;
options.DefaultSignInScheme = "auth";
options.DefaultSignOutScheme = "auth";
})
.AddCookie("auth", options =>
{
options.LogoutPath = "/logout";
})
.AddHarvest(options =>
{
options.ClientId = "<provided by Harvest>";
options.ClientSecret = "<provided by harvest>";
options.BaseUrl = "<base url of your site, e.g. http://localhost:13370>";
options.Events = new HarvestEvents
{
// Called on succesful login
OnSuccessfulLogin = context =>
{
// Add the claims your app requires...
context.Identity.AddClaim(new Claim(context.Identity.NameClaimType,
context.WhoAmI.user.first_name));
if (context.WhoAmI.user.admin)
{
context.Identity.AddClaim(new Claim(context.Identity.RoleClaimType, "Administrator"));
}
context.Identity.AddClaim(new Claim("Email", context.WhoAmI.user.email));
// ... or do other stuff with the data received, e.g.:
// await _db.UpdateAvatar(context.WhoAmI.user.id, context.WhoAmI.user.avatar_url);
return Task.CompletedTask;
},
// Called when login fails or the user denies the login attempt
OnFailedLogin = async context =>
{
await context.HttpContext.SignOutAsync();
context.HttpContext.Response.Redirect("/home/logout?message=" + WebUtility.UrlEncode(context.FailureMessage));
}
};
});
services.AddMvc();
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.AspNetCore.Authentication (>= 2.0.0)
- Microsoft.AspNetCore.Authentication.OAuth (>= 2.0.0)
- Microsoft.AspNetCore.Http (>= 2.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 1,184 | 9/26/2017 |