NP.Lti13Platform
1.0.0-preview001
See the version list below for details.
dotnet add package NP.Lti13Platform --version 1.0.0-preview001
NuGet\Install-Package NP.Lti13Platform -Version 1.0.0-preview001
<PackageReference Include="NP.Lti13Platform" Version="1.0.0-preview001" />
paket add NP.Lti13Platform --version 1.0.0-preview001
#r "nuget: NP.Lti13Platform, 1.0.0-preview001"
// Install NP.Lti13Platform as a Cake Addin #addin nuget:?package=NP.Lti13Platform&version=1.0.0-preview001&prerelease // Install NP.Lti13Platform as a Cake Tool #tool nuget:?package=NP.Lti13Platform&version=1.0.0-preview001&prerelease
NP.Lti13Platform
NP.Lti13Platform is a .NET 8 project that provides an implementation of an LTI 1.3 platform. This project is a wrapper for the other LTI 1.3 projects. For specific information regarding any of the specific specs, please see their respective projects.
Features
- LTI 1.3 Core (Launch)
- Deep Linking
- Assignment and Grade Services
- Name and Role Provisioning Services
Getting Started
Add the nuget package to your project:
Add an implementation of the
IDataService
interface:
public class DataService: IDataService
{
...
}
- Add the required services (most configurations are optional, the required configurations are shown):
*For information regarding configurations, please see the individual projects.
builder.Services
.AddLti13PlatformWithDefaults(x => { x.Issuer = "https://<site>.com"; })
.AddDataService<DataService>();
- Setup the routing for the LTI 1.3 platform endpoints:
app.UseLti13Platform();
IDataService
There is no default IDataService
implementation to allow each project to store the data how they see fit.
The IDataService
interface is a combination of all data services required for all the specs of the LTI 1.3 platform. Each service can be individually overridden instead of implementing the entire data service in a single service.
builder.Services
+ .AddLti13PlatformWithDefaults(x => { x.Issuer = "https://<site>.com"; });
- .AddLti13PlatformWithDefaults(x => { x.Issuer = "https://<site>.com"; })
- .AddDataService<DataService>();
+ builder.Services.AddTransient<ICoreDataService, CustomCoreDataService>();
+ builder.Services.AddTransient<IDeepLinkingDataService, CustomDeepLinkingDataService>();
+ builder.Services.AddTransient<INameRoleProvisioningDataService, CustomNameRoleProvisioningDataService>();
+ builder.Services.AddTransient<IAssignmentGradeDataService, CustomAssignmentGradeDataService>();
All of the internal services are transient and therefore the data services may be added at any scope (Transient, Scoped, Singleton).
Defaults
Many of the specs have default implementations that use a static configuration on startup. The defaults are set in the AddLti13PlatformWithDefaults
method. If you can't configure the services at startup you can use the non-default extension method and add your own implementation of the services.
builder.Services
- .AddLti13PlatformWithDefaults(x => { x.Issuer = "https://<site>.com"; })
+ .AddLti13Platform()
.AddDataService<DataService>();
+ builder.Services.AddTransient<ITokenService, TokenService>();
+ builder.Services.AddTransient<IPlatformService, PlatformService>();
+ builder.Services.AddTransient<IDeepLinkingService, TokenService>();
+ builder.Services.AddTransient<IAssignmentGradeService, AssignmentGradeService>();
+ builder.Services.AddTransient<INameRoleProvisioningService, NameRoleProvisioningService>();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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. |
-
net8.0
- NP.Lti13Platform.AssignmentGradeServices (>= 1.0.0-preview001)
- NP.Lti13Platform.Core (>= 1.0.0-preview001)
- NP.Lti13Platform.DeepLinking (>= 1.0.0-preview001)
- NP.Lti13Platform.NameRoleProvisioningServices (>= 1.0.0-preview001)
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-preview003 | 41 | 11/2/2024 |
1.0.0-preview002 | 47 | 10/26/2024 |
1.0.0-preview001 | 40 | 10/26/2024 |
0.1.0-preview002 | 45 | 10/23/2024 |
0.1.0-beta | 40 | 10/23/2024 |