Giter Club home page Giter Club logo

ltiadvantagetool's Introduction

LTI Library

There are two .NET Standard 1.6/2.0 projects in this solution to support IMS LTI Tool Providers and Tool Consumers. The Visual Studio solution and project files are compatible with Visual Studio 2019.

See the LtiLibrary1.6 repository for the last non-.NET Standard source for LtiLibrary.

![Discord](https://img.shields.io/discord/643735856406069248?label=Discord chat)
GitHub

LtiLibrary.NetCore

This is the only library you need if you are going to roll your own support for web pages or native apps.

This library includes the classes, properties, and methods to support LTI 1.1.1 launch, outcomes, content items and tool consumer profiles for both Tool Consumers and Tool Providers.

Available on NuGet: Nuget

Ltibrary.AspNetCore

This library depends on LtiLibrary.NetCore and adds useful extensions and helper methods for ASP.NET Core 2.0+ applications such as an OutcomesApiController which implements the LTI Outcomes API as a Controller.

Available on NuGet: Nuget

Test Projects

There are also two xUnit test projects: one for each project above. These can be helpful examples for how to use the libraries.

Build Status

CI Env Status
GitHub Windows GitHub Workflow Status

NuGet Status

Assembly Status
LtiLibrary.NetCore NuGet Status
LtiLibrary.AspNetCore NuGet Status

ltiadvantagetool's People

Contributors

andyfmiller avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ltiadvantagetool's Issues

Adding Gradebook line item unauthorized

Adding a lineitem to a gradebook results in unathorized (?handler=CreateLineItem)

The JWT Header response is empty and the JWT Payload works.

In toool.csthml.cs, IsSuccessStatusCode return false.

using (var response = await httpClient.PostAsync( LtiRequest.AssignmentGradeServices.LineItemsUrl, new StringContent(JsonConvert.SerializeObject(lineItem), Encoding.UTF8, Constants.MediaTypes.LineItem))) { if (!response.IsSuccessStatusCode) { Error = response.ReasonPhrase; return Page(); } }

Any advice ? Thanks

id_token is missing or empty

when I clicked add deep links, the pop up shows the error "id_token is missing or empty". may I know how to make it run?

Score service from LTI Advantage Tool returning 500 status in Canvas

We are working on the Score Service to return grades from our Tool to Canvas and have run into an issue when sending the token request for the client_credentials where we are getting a status 500 internal server error response from Canvas.

We have followed the steps using the OAuth2 Endpoints - Canvas LMS REST API Documentation.

We are generating a token request via a POST /login/oauth2/token with a grant_type of client_credentials and a properly formed JWT signed with our private key. The Scope is https://purl.imsglobal.org/spec/lti-ags/scope/score
Here is a sample Score json.
{
"activityProgress": "Completed",
"gradingProgress": "FullyGraded",
"scoreGiven": 32.0,
"scoreMaximum": 100.0,
"timestamp": "/Date(1572302484610)/",
"userId": "bf14f352-16f3-498d-8f65-780b80b8c581"
}

We are able to successfully get the tokens from Blackboard and Moodle with this same workflow.

Does anyone have any suggestions on troubleshooting this?

Careful how you append endpoints

"lineitem": "https://sandbox.moodledemo.net/mod/lti/services.php/2/lineitems/2/lineitem?type_id=1"
this is from moodle, it adds query param to the uri causing service calls to fail...

When the tool appends "/results" to the LineItemUri it would become "https://sandbox.moodledemo.net/mod/lti/services.php/2/lineitems/2/lineitem?type_id=1/results" which is invalid instead of "https://sandbox.moodledemo.net/mod/lti/services.php/2/lineitems/2/lineitem/results?type_id=1"

just fyi, wasted a bit of time on this...

Missing projects and their references

This repo has two missing project references i.e

<ProjectReference Include="..\..\..\LTI\LtiAdvantage\src\LtiAdvantage.IdentityModel\LtiAdvantage.IdentityModel.csproj" />
   <ProjectReference Include="..\..\..\LTI\LtiAdvantage\src\LtiAdvantage\LtiAdvantage.csproj" />

Please add missing projects and references so that we can move further for a sample idea of LTI Advantage Library.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.