Library implementing a full LTI Advantage tool.
This library depends on two additional libraries:
- LTI 1.3 core
- LTI 1.3 JWT for testing
Install it using maven:
./mvnw install
The basic class in the library is edu.uoc.elc.lti.tool.Tool
, which defines a Tool. It has the basic methods:
public boolean validate(String token, String state)
public AccessTokenResponse getAccessToken() throws IOException, BadToolProviderConfigurationException
public NamesRoleService getNameRoleService()
public DeepLinkingClient getDeepLinkingClient()
public AssignmentGradeService getAssignmentGradeService()
It also has utility methods for getting claims in an agnostic way
Configuration of the Tool is made through the class edu.uoc.elc.lti.tool.ToolDefinition
.
There you can set the following parameters of the tool:
clientId
name
: Name of the toolplatform
: Name of the platformkeySetUrl
:accessTokenUrl
oidcAuthUrl
privateKey
publicKey
deploymentId
Tool uses LTI 1.3 core interfaces for dealing
with requests and JWT generation. The definition of the implementations of these interfaces are
in the edu.uoc.elc.lti.tool.ToolBuilders
class
- Set your maven installation to work with Github packages, following https://help.github.com/en/packages/using-github-packages-with-your-projects-ecosystem/configuring-apache-maven-for-use-with-github-packages#authenticating-to-github-packages
Repository info:
<repository>
<id>github-uoc</id>
<name>GitHub UOC Apache Maven Packages</name>
<url>https://maven.pkg.github.com/uoc</url>
</repository>
- Add the dependency to your
pom.xml
file:
<dependency>
<groupId>edu.uoc.elc.lti</groupId>
<artifactId>lti-13</artifactId>
<version>0.0.2</version>
</dependency>
Thanks for being interested in this project. The way of contributing is the common for almost all projects:
- Fork the project to your account
- Implement your changes
- Make a pull request
If you need further information contact to xaracil at uoc dot edu