Fixed issue #1442 - Self signed SSL certificate fails Exchange autodiscovery.
This commit is contained in:
parent
acb1df1c4a
commit
caa85bbf5a
3 changed files with 44 additions and 3 deletions
|
@ -175,8 +175,10 @@ class ConnectionWizard extends App.WizardModal
|
||||||
|
|
||||||
events:
|
events:
|
||||||
'submit form.js-discover': 'discover'
|
'submit form.js-discover': 'discover'
|
||||||
|
'submit form.js-discoverSsl': 'discover'
|
||||||
'submit form.js-bind': 'folders'
|
'submit form.js-bind': 'folders'
|
||||||
'submit form.js-folders': 'mapping'
|
'submit form.js-folders': 'mapping'
|
||||||
|
'click .js-cancelSsl': 'showSlideDiscover'
|
||||||
'click .js-mapping .js-submitTry': 'mappingChange'
|
'click .js-mapping .js-submitTry': 'mappingChange'
|
||||||
'click .js-try .js-submitSave': 'save'
|
'click .js-try .js-submitSave': 'save'
|
||||||
'click .js-close': 'hide'
|
'click .js-close': 'hide'
|
||||||
|
@ -244,6 +246,9 @@ class ConnectionWizard extends App.WizardModal
|
||||||
@$('.js-bind input[name="user"]').val(@wizardConfig.user)
|
@$('.js-bind input[name="user"]').val(@wizardConfig.user)
|
||||||
@$('.js-bind input[name="password"]').val(@wizardConfig.password)
|
@$('.js-bind input[name="password"]').val(@wizardConfig.password)
|
||||||
|
|
||||||
|
showSlideDiscover: =>
|
||||||
|
@showSlide('js-discover')
|
||||||
|
|
||||||
discover: (e) =>
|
discover: (e) =>
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
@showSlide('js-connect')
|
@showSlide('js-connect')
|
||||||
|
@ -256,8 +261,15 @@ class ConnectionWizard extends App.WizardModal
|
||||||
processData: true
|
processData: true
|
||||||
success: (data, status, xhr) =>
|
success: (data, status, xhr) =>
|
||||||
if data.result isnt 'ok'
|
if data.result isnt 'ok'
|
||||||
|
|
||||||
|
if data.message.indexOf('certificate verify failed') is -1
|
||||||
@showSlide('js-discover')
|
@showSlide('js-discover')
|
||||||
@showAlert('js-discover', data.message)
|
@showAlert('js-discover', data.message)
|
||||||
|
else
|
||||||
|
@$('.js-discoverSsl input[name="user"]').val(params.user)
|
||||||
|
@$('.js-discoverSsl input[name="password"]').val(params.password)
|
||||||
|
@showSlide('js-discoverSsl')
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@wizardConfig.endpoint = data.endpoint
|
@wizardConfig.endpoint = data.endpoint
|
||||||
|
|
|
@ -34,6 +34,31 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<form class="modal-content setup wizard hide js-discoverSsl">
|
||||||
|
<input type="hidden" name="disable_ssl_verify" value="1">
|
||||||
|
<input type="hidden" name="user" value="">
|
||||||
|
<input type="hidden" name="password" value="">
|
||||||
|
<div class="modal-header">
|
||||||
|
<div class="modal-close js-close">
|
||||||
|
<%- @Icon('diagonal-cross') %>
|
||||||
|
</div>
|
||||||
|
<h1 class="modal-title"><%- @T('Your connection is not private') %></h1>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="wizard-body vertical">
|
||||||
|
<p><%- @T('The certificate of the domain could not be verified. Hackers could steal the credentials or redirect the connection. Or maybe you are using a self-signed certificate.') %></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<div class="modal-leftFooter">
|
||||||
|
<button class="btn btn--text btn--danger btn--secondary js-submit"><%- @T('Proceed') %></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-rightFooter">
|
||||||
|
<a class="btn btn--primary align-right js-cancelSsl"><%- @T('Cancel') %></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
<form class="modal-content setup wizard hide js-connect">
|
<form class="modal-content setup wizard hide js-connect">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<div class="modal-close js-close">
|
<div class="modal-close js-close">
|
||||||
|
|
|
@ -11,7 +11,11 @@ class Integration::ExchangeController < ApplicationController
|
||||||
email: params[:user],
|
email: params[:user],
|
||||||
password: params[:password],
|
password: params[:password],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if params[:disable_ssl_verify]
|
||||||
client.http.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
client.http.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
||||||
|
end
|
||||||
|
|
||||||
{
|
{
|
||||||
endpoint: client.try(:autodiscover).try(:ews_url),
|
endpoint: client.try(:autodiscover).try(:ews_url),
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue