LTI: поддержка протокола LTI 1.3 для интеграции с внешними инструментами.#655
LTI: поддержка протокола LTI 1.3 для интеграции с внешними инструментами.#655KirillBorisovich wants to merge 28 commits intoInteIIigeNET:masterfrom
Conversation
…askId and ltiTaskId
…porting from an external tool, and also made validating jwt tokens
…pLinkingReturnController, added a check for matching toolId and course.LtiToolId
HwProj.CoursesService/HwProj.CoursesService.API/Models/HomeworkTaskLtiLaunchData.cs
Show resolved
Hide resolved
HwProj.CoursesService/HwProj.CoursesService.API/Models/HomeworkTaskLtiLaunchData.cs
Show resolved
Hide resolved
HwProj.CoursesService/HwProj.CoursesService.API/Repositories/ITasksRepository.cs
Outdated
Show resolved
Hide resolved
HwProj.CoursesService/HwProj.CoursesService.API/Services/CoursesService.cs
Outdated
Show resolved
Hide resolved
HwProj.CoursesService/HwProj.CoursesService.API/Services/CoursesService.cs
Outdated
Show resolved
Hide resolved
HwProj.CoursesService/HwProj.CoursesService.API/Controllers/TasksController.cs
Outdated
Show resolved
Hide resolved
HwProj.CoursesService/HwProj.CoursesService.API/Controllers/TasksController.cs
Outdated
Show resolved
Hide resolved
HwProj.NotificationsService/HwProj.NotificationsService.API/appsettings.json
Outdated
Show resolved
Hide resolved
HwProj.SolutionsService/HwProj.SolutionsService.API/Services/SolutionsService.cs
Show resolved
Hide resolved
HwProj.APIGateway/HwProj.APIGateway.API/Lti/Configuration/LtiPlatformConfig.cs
Show resolved
Hide resolved
| @@ -0,0 +1,19 @@ | |||
| namespace HwProj.APIGateway.API.Lti.Models; | |||
|
|
|||
| public class LtiPlatformConfig | |||
There was a problem hiding this comment.
| public class LtiPlatformConfig | |
| internal class LtiPlatformConfig |
There was a problem hiding this comment.
А нужно ли? Я в конструкторах использую часто где IOptions options. Чтобы сделать внутренним, мне нужно пренести всю логику в сервисы и сделать их (сервисы) все внутренними, нужно ли так делать? Просто больше в проекте нигде так не делается
| public LtiSigningKeyConfig SigningKey { get; set; } | ||
| } | ||
|
|
||
| public class LtiSigningKeyConfig |
There was a problem hiding this comment.
| public class LtiSigningKeyConfig | |
| internal class LtiSigningKeyConfig |
| @@ -0,0 +1,14 @@ | |||
| namespace HwProj.APIGateway.API.Lti.Models | |||
| { | |||
| public class LtiToolConfig | |||
There was a problem hiding this comment.
| public class LtiToolConfig | |
| internal class LtiToolConfig |
HwProj.APIGateway/HwProj.APIGateway.API/Lti/Models/LtiToolDto.cs
Outdated
Show resolved
Hide resolved
HwProj.APIGateway/HwProj.APIGateway.API/Lti/Models/LtiDeepLinkingContentItem.cs
Outdated
Show resolved
Hide resolved
HwProj.APIGateway/HwProj.APIGateway.API/Lti/Services/LtiToolService.cs
Outdated
Show resolved
Hide resolved
HwProj.APIGateway/HwProj.APIGateway.API/Models/Solutions/UserTaskSolutions.cs
Outdated
Show resolved
Hide resolved
HwProj.APIGateway/HwProj.APIGateway.API/Lti/Services/LtiToolService.cs
Outdated
Show resolved
Hide resolved
HwProj.APIGateway/HwProj.APIGateway.API/Lti/Services/LtiKeyService.cs
Outdated
Show resolved
Hide resolved
HwProj.APIGateway/HwProj.APIGateway.API/Lti/Services/LtiKeyService.cs
Outdated
Show resolved
Hide resolved
| string clientId, | ||
| string toolId, | ||
| string courseId, | ||
| string targetLinkUri, | ||
| string userId, | ||
| string nonce); |
There was a problem hiding this comment.
я бы сделал класс с get/init пропертями
There was a problem hiding this comment.
это метод, случайно не дописал public
| } | ||
|
|
||
| string tokenString = form["JWT"]!; | ||
| var handler = new JwtSecurityTokenHandler(); |
There was a problem hiding this comment.
точно мы должны его пересоздавать? Можно ли инжектить?
|
|
||
| var resultList = new List<object>(); | ||
|
|
||
| if (unverifiedToken.Payload.TryGetValue(itemsClaimName, out var itemsObject)) |
There was a problem hiding this comment.
Действительно ли структура такая жидкая?
| <body> | ||
| <p>Задача выбрана. Возвращаемся в HwProj...</p> | ||
| <script> | ||
| var payload = {responsePayloadJson}; |
DedSec256
left a comment
There was a problem hiding this comment.
Крутая работа!
Вот основные замечания сейчас
HwProj.APIGateway/HwProj.APIGateway.API/Lti/Controllers/LtiDeepLinkingReturnController.cs
Show resolved
Hide resolved
dccfb9f to
7d2c0fb
Compare
Реализация поддержки протокола LTI 1.3 для интеграции с внешними инструментами.