Hello, I am trying to integrate google sign in but unable to get past the login button.
My login_core.html.twig file is:
{% set srOnly = (showLabels == true) ? “” : “sr-only” %}
<meta name="google-signin-client_id" content="912921424264-7ensq0rtbvlkqjjiec5t0cbcb4i74eel.apps.googleusercontent.com">
<script src="https://accounts.google.com/gsi/client" async defer></script>
<div id="g_id_onload"
data-client_id="912921424264-7ensq0rtbvlkqjjiec5t0cbcb4i74eel.apps.googleusercontent.com"
data-callback="onSignInSuccess" data-auto_prompt="false"
>
</div>
<title>{{ title|text }} {{ "Login"|xlt }}</title>
{% block head %}{% endblock %}
<script src="{{ webroot|attr }}/interface/product_registration/product_registration_service.js?v={{ assetVersion|attr }}"></script>
<script src="{{ webroot|attr }}/interface/product_registration/product_registration_controller.js?v={{ assetVersion|attr }}"></script>
{{ setupHeader() }}
<script type="text/javascript">
const registrationTranslations = {{ regTranslations }};
const registrationConstants = {{ regConstants }};
document.addEventListener('DOMContentLoaded', () => {
document.getElementById('authUser').focus();
});
$(document).ready(init());
function init() {
var productRegistrationController = new ProductRegistrationController();
productRegistrationController.getProductRegistrationStatus(function (err, data) {
if (err) { return; }
if (data.statusAsString === 'UNREGISTERED') {
productRegistrationController.showProductRegistrationModal();
}
});
}
function transmit_form(element) {
// disable submit button to insert a notification of working
element.disabled = true;
// nothing fancy. mainly for mobile.
element.innerHTML = '<i class="fa fa-circle-notch fa-spin mx-1"></i><span class="sr-only">' + jsText({{ "Authenticating"|xlj }}) + '</span>';
{% if hasSession %}
document.cookie = {{ cookieText }};
{% endif %}
document.forms[0].submit();
return true;
}
</script>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<script src="https://apis.google.com/js/platform.js?onload=onLoadCallback" async defer></script>
{% if relogin == 1 %}
<div class="alert alert-info m-1 font-weight-bold">
{{ "password security has recently been upgraded."|xlt }} {{ "Please login again."|xlt }}
</div>
{% endif %}
{% if loginFail == 1 %}
<div class="bg-danger text-light py-2 px-3 login-failure mb-3 font-weight-bold">
{{ "Invalid username or password"|xlt }}
</div>
{% endif %}
<div id="standard-auth-username" class="form-group">
<label for="authUser" class="text-right {{ srOnly }}">{{ "Username"|xlt }}</label>
<input type="text" class="form-control" id="authUser" name="authUser" placeholder="{{ "Username"|xla }}">
</div>
<div id="standard-auth-password" class="form-group">
<label for="clearPass" class="text-right {{ srOnly }}">{{ "Password"|xlt }}</label>
<input type="password" class="form-control" id="clearPass" name="clearPass" placeholder="{{ "Password"|xla }}">
</div>
{{ divApp }}
{% if displayLanguage %}
<div class="form-group">
<label for="language" class="text-right">{{ "Language"|xlt }}</label>
<div>
<select class="form-control" name="languageChoice" size="1">
<option value="{{ defaultLangID|attr }}" selected>{{ "Default"|xlt }} - {{ defaultLangName|xlt }}</option>
{% for l in languageList %}
<option value="{{ l.lang_id|attr }}">{{ l.trans_lang_description|text }}</option>
{% endfor %}
</select>
</div>
</div>
{% endif %}
{% if displayFacilities %}
<div class="form-group">
<label for="facility" class="text-right">{{ "Facility"|xlt }}</label>
<div>
<select class="form-control" name="facility" size="1">
<option value="user_default">{{ "My default facility"|xlt }}</option>
{% for f in facilityList %}
<option value="{{ f.id|attr }}" {{ facilitySelected == f.id ? "selected" : "" }}>{{ f.name|text }}</option>
{% endfor %}
</select>
</div>
</div>
{% endif %}
<div class="form-group d-flex " style="justify-content: space-between !important;" >
{{ "Login"|xlt }}
<div class="form-group">
<input type="hidden" id="used-google-signin" name="used_google_signin" value="">
<input type="hidden" id="google-signin-token" name="google_signin_token" value="">
<div id="google-signin" onclick="return do_google_signin();">
<!-- This message is displayed if the google platform API cannot render the button -->
<span id="google-signin-service-unreachable-alert" style="display:none;">
{{ "Google Sign-In is enabled but the service is unreachable."|xlt }}
</span>
</div>
<div id="google-signout">
<a href="#" onclick="signOut();">{{ "Sign out"|xlt }}</a>
</div>
</div>
</div>
<div class="{{ logoArea|attr }}">
{% if displayExtraLogo %}
<div class="text-center">
<span class="d-inline-block w-40">
{{ primaryLogoSrc|raw }}
</span>
<span class="d-inline-block w-15 login-bg-text-color"><i class="fas fa-plus fa-2x"></i></span>
<span class="d-inline-block w-40">
{{ logocode }}
</span>
</div>
{% else %}
<div class="mx-auto m-4 w-75">
{{ primaryLogoSrc|raw }}
</div>
{% endif %}
{% if displayLoginLabel %}
<div class="text-center login-title-label">
{{ title|text }}
</div>
{% endif %}
{% if displayTinyLogo == 1 %}
{{ tinyLogo1 }}
{% endif %}
{% if displayTinyLogo == 2 %}
{{ tinyLogo2 }}
{% endif %}
{% if displayTinyLogo == 3 %}
<div class="row mb-3">
<div class="col-sm-6">{{ tinyLogo1 }}</div>
<div class="col-sm-6">{{ tinyLogo2 }}</div>
</div>
{% endif %}
{% if displayTagline %}
<p class="text-center text-white lead">{{ tagline|xlt }}</p>
{% endif %}
{% if displayAck %}
<p class="text-center small"><a href="../../acknowledge_license_cert.html" class="text-white" target="main">{{ "Acknowledgments, Licensing and Certification"|xlt }}</a></p>
{% endif %}
</div>
</div>
<div class="product-registration-modal modal fade">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header"></div>
<div class="modal-body">
<p class="context">
{{ "Register your installation with OpenEMR Foundation to receive important notifications, such as security fixes and new release announcements."|xlt }}
</p>
<input placeholder="{{ "email"|xla }}" type="email" class="email w-100 text-body form-control" />
<p class="message font-italic"></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary submit">{{ "Submit"|xlt }}</button>
<button type="button" class="btn btn-secondary nothanks">{{ "No Thanks"|xlt }}</button>
</div>
</div>
</div>
</div>
</form>
It doesn’t login, It gives error that, invalid username or password