Merge pull request #11241 from edx/feature/credentials-phase-1
Feature/credentials phase 1
This commit is contained in:
@@ -727,6 +727,7 @@ CREDIT_HELP_LINK_URL = ENV_TOKENS.get('CREDIT_HELP_LINK_URL', CREDIT_HELP_LINK_U
|
||||
#### JWT configuration ####
|
||||
JWT_ISSUER = ENV_TOKENS.get('JWT_ISSUER', JWT_ISSUER)
|
||||
JWT_EXPIRATION = ENV_TOKENS.get('JWT_EXPIRATION', JWT_EXPIRATION)
|
||||
JWT_AUTH.update(ENV_TOKENS.get('JWT_AUTH', {}))
|
||||
|
||||
################# PROCTORING CONFIGURATION ##################
|
||||
|
||||
|
||||
@@ -1924,6 +1924,9 @@ INSTALLED_APPS = (
|
||||
'openedx.core.djangoapps.self_paced',
|
||||
|
||||
'sorl.thumbnail',
|
||||
|
||||
# Credentials support
|
||||
'openedx.core.djangoapps.credentials',
|
||||
)
|
||||
|
||||
# Migrations which are not in the standard module "migrations"
|
||||
@@ -2000,6 +2003,18 @@ SOCIAL_MEDIA_FOOTER_NAMES = [
|
||||
"reddit",
|
||||
]
|
||||
|
||||
# JWT Settings
|
||||
JWT_AUTH = {
|
||||
'JWT_SECRET_KEY': None,
|
||||
'JWT_ALGORITHM': 'HS256',
|
||||
'JWT_VERIFY_EXPIRATION': True,
|
||||
'JWT_ISSUER': None,
|
||||
'JWT_PAYLOAD_GET_USERNAME_HANDLER': lambda d: d.get('username'),
|
||||
'JWT_AUDIENCE': None,
|
||||
'JWT_LEEWAY': 1,
|
||||
'JWT_DECODE_HANDLER': 'openedx.core.lib.api.jwt_decode_handler.decode',
|
||||
}
|
||||
|
||||
# The footer URLs dictionary maps social footer names
|
||||
# to URLs defined in configuration.
|
||||
SOCIAL_MEDIA_FOOTER_URLS = {}
|
||||
@@ -2554,6 +2569,9 @@ ECOMMERCE_API_SIGNING_KEY = None
|
||||
ECOMMERCE_API_TIMEOUT = 5
|
||||
ECOMMERCE_SERVICE_WORKER_USERNAME = 'ecommerce_worker'
|
||||
|
||||
# Credentials configuration
|
||||
CREDENTIALS_SERVICE_USERNAME = 'credentials_service_user'
|
||||
|
||||
# Reverification checkpoint name pattern
|
||||
CHECKPOINT_PATTERN = r'(?P<checkpoint_name>[^/]+)'
|
||||
|
||||
|
||||
@@ -224,6 +224,13 @@ CORS_ALLOW_CREDENTIALS = True
|
||||
CORS_ORIGIN_WHITELIST = ()
|
||||
CORS_ORIGIN_ALLOW_ALL = True
|
||||
|
||||
# JWT settings for devstack
|
||||
JWT_AUTH.update({
|
||||
'JWT_ALGORITHM': 'HS256',
|
||||
'JWT_SECRET_KEY': 'lms-secret',
|
||||
'JWT_ISSUER': 'http://127.0.0.1:8000/oauth2',
|
||||
'JWT_AUDIENCE': 'lms-key',
|
||||
})
|
||||
|
||||
#####################################################################
|
||||
# See if the developer has any local overrides.
|
||||
|
||||
@@ -190,6 +190,7 @@ DATABASES = {
|
||||
# This hack disables migrations during tests. We want to create tables directly from the models for speed.
|
||||
# See https://groups.google.com/d/msg/django-developers/PWPj3etj3-U/kCl6pMsQYYoJ.
|
||||
MIGRATION_MODULES = {app: "app.migrations_not_used_in_tests" for app in INSTALLED_APPS}
|
||||
MIGRATION_MODULES["credentials"] = "app.migrations_not_used_in_tests"
|
||||
|
||||
CACHES = {
|
||||
# This is the cache used for most things.
|
||||
@@ -562,3 +563,9 @@ FEATURES['ORGANIZATIONS_APP'] = True
|
||||
|
||||
# Financial assistance page
|
||||
FEATURES['ENABLE_FINANCIAL_ASSISTANCE_FORM'] = True
|
||||
|
||||
JWT_AUTH.update({
|
||||
'JWT_SECRET_KEY': 'test-secret',
|
||||
'JWT_ISSUER': 'https://test-provider/oauth2',
|
||||
'JWT_AUDIENCE': 'test-key',
|
||||
})
|
||||
|
||||
@@ -32,6 +32,32 @@
|
||||
}
|
||||
}
|
||||
|
||||
.wrapper-xseries-certificates{
|
||||
@include float(right);
|
||||
@include margin-left(flex-gutter());
|
||||
width: flex-grid(3);
|
||||
|
||||
.title{
|
||||
@extend %t-title7;
|
||||
@extend %t-weight4;
|
||||
}
|
||||
|
||||
ul{
|
||||
@include padding-left(0);
|
||||
margin-top: ($baseline/2);
|
||||
}
|
||||
|
||||
li{
|
||||
@include line-height(20);
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.copy {
|
||||
@extend %t-copy-sub1;
|
||||
margin-top: ($baseline/2);
|
||||
}
|
||||
}
|
||||
|
||||
.profile-sidebar {
|
||||
background: transparent;
|
||||
@include float(right);
|
||||
|
||||
@@ -180,6 +180,19 @@ import json
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
% if xseries_credentials:
|
||||
<div class="wrapper-xseries-certificates">
|
||||
<p class="title">${_("XSeries Program Certificates")}</p>
|
||||
<p class="copy">${_("You have received a certificate for the following XSeries programs:")}</p>
|
||||
<ul>
|
||||
% for xseries_credential in xseries_credentials:
|
||||
<li>
|
||||
<a class="copy" href="${xseries_credential['credential_url']}">${xseries_credential['display_name']}</a>
|
||||
</li>
|
||||
% endfor
|
||||
</ul>
|
||||
</div>
|
||||
% endif
|
||||
</section>
|
||||
|
||||
<section id="email-settings-modal" class="modal" aria-hidden="true">
|
||||
|
||||
Reference in New Issue
Block a user