2018-04-02 20:21:51 +02:00
|
|
|
###
|
|
|
|
LemonLDAP::NG 2F registration script
|
|
|
|
###
|
|
|
|
|
|
|
|
setMsg = (msg, level) ->
|
|
|
|
$('#msg').html window.translate msg
|
|
|
|
$('#color').removeClass 'message-positive message-warning alert-success alert-warning'
|
|
|
|
$('#color').addClass "message-#{level}"
|
|
|
|
level = 'success' if level == 'positive'
|
|
|
|
$('#color').addClass "alert-#{level}"
|
|
|
|
|
|
|
|
displayError = (j, status, err) ->
|
|
|
|
console.log 'Error', err
|
|
|
|
res = JSON.parse j.responseText
|
|
|
|
if res and res.error
|
|
|
|
res = res.error.replace /.* /, ''
|
|
|
|
console.log 'Returned error', res
|
2019-01-20 23:02:15 +01:00
|
|
|
if res.match /module/
|
|
|
|
setMsg 'notAuthorized', 'warning'
|
|
|
|
else
|
|
|
|
setMsg res, 'warning'
|
2018-04-02 20:21:51 +02:00
|
|
|
|
2018-04-04 17:34:27 +02:00
|
|
|
# Delete function (launched by "delete" button)
|
2018-04-02 22:40:41 +02:00
|
|
|
delete2F = (device, epoch) ->
|
2018-04-02 20:21:51 +02:00
|
|
|
if device == 'U2F'
|
|
|
|
device = 'u'
|
|
|
|
else if device == 'UBK'
|
|
|
|
device = 'yubikey'
|
|
|
|
else if device == 'TOTP'
|
|
|
|
device = 'totp'
|
|
|
|
else setMsg 'u2fFailed', 'warning'
|
|
|
|
$.ajax
|
|
|
|
type: "POST"
|
|
|
|
url: "#{portal}2fregisters/#{device}/delete"
|
2018-04-02 22:40:41 +02:00
|
|
|
data:
|
|
|
|
epoch: epoch
|
2018-04-02 20:21:51 +02:00
|
|
|
dataType: 'json'
|
|
|
|
error: displayError
|
|
|
|
success: (resp) ->
|
|
|
|
if resp.error
|
2018-08-20 11:36:23 +02:00
|
|
|
if resp.error.match /notAuthorized/
|
|
|
|
setMsg 'notAuthorized', 'warning'
|
|
|
|
else setMsg 'unknownAction', 'warning'
|
2018-04-02 20:21:51 +02:00
|
|
|
else if resp.result
|
2018-08-20 11:36:23 +02:00
|
|
|
$("#delete-#{epoch}").hide()
|
2018-04-02 20:21:51 +02:00
|
|
|
setMsg 'yourKeyIsUnregistered', 'positive'
|
|
|
|
error: displayError
|
|
|
|
|
|
|
|
# Register "click" events
|
|
|
|
$(document).ready ->
|
2018-04-02 22:40:41 +02:00
|
|
|
$('body').on 'click', '.btn-danger', () -> delete2F ( $(this).attr 'device' ), ( $(this).attr 'epoch' )
|
2018-04-02 20:21:51 +02:00
|
|
|
$('#goback').attr 'href', portal
|
2018-04-04 22:23:59 +02:00
|
|
|
$(".data-epoch").each ->
|
|
|
|
myDate = new Date($(this).text() * 1000)
|
|
|
|
$(this).text(myDate.toLocaleString())
|