{div:style=display:none}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.\\		\\		Enter additional information related to this 'class' inside the \{div} macro with 'id=description'{div}
{div:id=description}{div}\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[JSAuthenticateRequest]{span}{span:class=sWordList}[JSAuthenticateResult]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[JSAuthenticateRequest]{td}{td}[#createAuthenticateRequest]\(identifier, callback)
Redirect to openID provider to login, callback method will receive answer.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=createAuthenticateRequest-String_Function}{tr:id=name}{td}h6.createAuthenticateRequest{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[JSAuthenticateRequest]{span}{span:style=font-weight: bold;}createAuthenticateRequest{span}{span}\(identifier, callback){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Redirect to openID provider to login, callback method will receive answer.{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} identifier
\{[Function]} callback
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[JSAuthenticateRequest]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var authenticateRequest = plugins.openid.createAuthenticateRequest('https://www.google.com/accounts/o8/id',openIDLoginCallback);
authenticateRequest.addAttributeRequest('email','http://axschema.org/contact/email',true);
//see http://www.axschema.org/types/ for more attributes, not all are supported by all providers!
authenticateRequest.execute();

//sample
//function openIDLoginCallback(identifier,authenticateResult)
//{
//	var ok = false;
//	if (identifier)
//	{
//		var id = identifier.substring(identifier.lastIndexOf('=')+1)
//		application.output('id:'+id)
//		var email = authenticateResult.getAttributeValue('email')
//		application.output('email:'+email)
//		ok = security.login(email, id, ['Administrators'])
//	}
//	if (!ok)
//	{
//		application.output('Login failed')
//	}
//}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}