• JimP
  • NEWBIE
  • 35 Points
  • Member since 2011

  • Chatter
    Feed
  • 1
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 6
    Questions
  • 6
    Replies

I am writing a composite app. I am currently using the sid cookie to pass the current session ID into a back-end service using HTTP in a home page component.

 

This works fine from most pages, but when I go to a VF page, even though the sid cookie is still there, it won't authenticate. When I print $API.Session_ID from the VF page, the value is completely different.

 

Can anyone tell me why the sid (API session ID) item is incorrectly set when clicking to a VF page? Is there anything else to be expected from this cookie?

  • October 31, 2011
  • Like
  • 0

Morning All

 

Scenario: I have a javascript app running in a home page component. It acts as the front end for a telephony application in the cloud, which accesses salesforce via the API.

 

I have set up my salesforce account as an Idp and I have SSO working in my cloud app via simplesamlphp. The question is, can I use this method of authentication to access the API? Currently the user has to effectively log in twice (though we cache the credentials) and this a pain from both the admin and security standpoint.

 

In our business scenario, setting ourselves up as an Idp for salesorce is unlikely to be acceptable to our customers.

 

So what I would like to happen is:

 

1. user logs in to salesforce UI

2. when the home page loads, our javascript app carries some metadata to our web service, which then somehow leverages SSO to log into the API, effectively as the logged in user.

 

Is this possible?

 

Thanks

Jim

  • August 26, 2011
  • Like
  • 0

Morning all.

 

I am trying to get my php SP (based on simplesamlphp 1.8) to play nicely with my salesforce Idp, set up in my salesforce development account. I am now at the point where attempting to authenticate gets me to the salesforce login page, the login succeeds (in the login history I get for example):

 

jim.page@redmatter.com

25/08/2011 18:12:12 CEST217.128.138.53ApplicationSuccessChrome 13Win7BrowserN/AN/AN/Aredmatter-developer-edition.my.salesforce.com



but I get

 

 <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:RequestDenied"/>

 

message back into my app. I have looked at many, many posts (from which it's clear that it's possible to make this work, but nothing that sheds any direct light) and hacked the simplesaml config to no avail.

 

Any help would be hugely appreciated.

 

Thanks

Jim

 

Sample assertion:

 

<samlp:AuthnRequest 

xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 

xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" 

ID="_342437431d6735a16338b6196769f4a59dc863f659" 

Version="2.0" IssueInstant="2011-08-25T16:13:16Z" 

Destination="https://redmatter-developer-edition.my.salesforce.com/idp/endpoint/HttpRedirect

AssertionConsumerServiceURL="https://saml.redmatter.com:8081/simplesaml/module.php/saml/sp/saml2-acs.php/natterbox-cti

ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"> 

<saml:Issuer>

https://saml.redmatter.com:8081/simplesaml/module.php/saml/sp/metadata.php/natterbox-cti

</saml:Issuer>

<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" AllowCreate="true"/></samlp:AuthnRequest>

 

Response:


<samlp:Response 

xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 

Destination="https://saml.redmatter.com:8081/simplesaml/module.php/saml/sp/saml2-acs.php/natterbox-cti

ID="_1cc637c784edefc59018ea836b083b051314288794986"

InResponseTo="_342437431d6735a16338b6196769f4a59dc863f659" 

IssueInstant="2011-08-25T16:13:14.986Z" 

Version="2.0"> 

<saml:Issuer  

xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"  

Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"> 

https://redmatter-developer-edition.my.salesforce.com 

</saml:Issuer> 

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">     

<ds:CanonicalizationMethod  

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"      

Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>     

<ds:SignatureMethod

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"      

Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>     

<ds:Reference

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"      

URI="#_1cc637c784edefc59018ea836b083b051314288794986">       

<ds:Transforms

xmlns:ds="http://www.w3.org/2000/09/xmldsig#">         

<ds:Transform

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"          

Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>         

<ds:Transform

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"          

Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">           

<ec:InclusiveNamespaces

xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"            

PrefixList="ds saml samlp"/>

</ds:Transform>       

</ds:Transforms>       

<ds:DigestMethod

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"        

Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>       

<ds:DigestValue

xmlns:ds="http://www.w3.org/2000/09/xmldsig#">       

oW12edeSTb2dKXEiCQMOKCaTdG8=       

</ds:DigestValue>     

</ds:Reference>   

</ds:SignedInfo>   

<ds:SignatureValue

xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:SignatureValue>   

<ds:KeyInfo> 

<ds:X509Data>

<ds:X509Certificate>...</ds:X509Certificate>     

</ds:X509Data>

</ds:KeyInfo>

</ds:Signature>

<samlp:Status>

<samlp:StatusCode

Value="urn:oasis:names:tc:SAML:2.0:status:RequestDenied"/> 

</samlp:Status>

</samlp:Response>

 

  • August 26, 2011
  • Like
  • 0

Ladies and Gents, I am writing a simple app that requires some basic app-level and user-level configuration. I have created custom objects for these settings, but cannot figure out how to add links to the Setup page (Personal Setup and Customize) so that the settings can be managed.

I think this will probably be super-obvious, so sorry if I am being dim.

Thanks

Jim

  • June 16, 2011
  • Like
  • 0

Some CTI users are having problems with cached passwords. Those who have a problem have this in their log files:

 

02/07/2011 11:48:18: CCTIAppExchange::LaunchSaveUserParamsThread: Unable to get encryption code from OfflineCode servlet.  Could not encrypt password.

 

From the code, this appears to be an error returned after an HTTP transaction via COM, and this log line is in fact incorrect - it should read 'Could not decrypt password'. A cut and paste error from elsewhere in the code I think.

 

There seem to be some users who have this problem and some who do not. The service works fine for them in all other respects. The upshot is that they end up having to reenter their password each time, as the un-decrypted password is placed in the password field in the login form.

 

Has anyone else come across this?

  • February 07, 2011
  • Like
  • 0

I am doing a new ground up CTI integration with the Natterbox telephony platform, and it's already working well.

 

I have a problem however with screen popping - if the phone rings and there is a matching record, and the user is working on a different page, then the changes are lost when the screen pop pops. This is causing us customer stress. We would like the system to work as follows:

 

phone rings: the CTI adapter UI is updated with the relevant data in the status bar (Eg name of caller)

user answers: the screen pops.

 

I can't see how to decouple the UI update with the screen pop. It all appears to happen in the underlying COM object. Or rather: it seems that the screen pop is triggered by the COM object but I could switch off the UI update ... but unfortunately that's the wrong way round for me.

 

Any comments or alternative suggestions are welcomed - this is quite a major issue for us currently.

  • February 03, 2011
  • Like
  • 0

Morning all.

 

I am trying to get my php SP (based on simplesamlphp 1.8) to play nicely with my salesforce Idp, set up in my salesforce development account. I am now at the point where attempting to authenticate gets me to the salesforce login page, the login succeeds (in the login history I get for example):

 

jim.page@redmatter.com

25/08/2011 18:12:12 CEST217.128.138.53ApplicationSuccessChrome 13Win7BrowserN/AN/AN/Aredmatter-developer-edition.my.salesforce.com



but I get

 

 <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:RequestDenied"/>

 

message back into my app. I have looked at many, many posts (from which it's clear that it's possible to make this work, but nothing that sheds any direct light) and hacked the simplesaml config to no avail.

 

Any help would be hugely appreciated.

 

Thanks

Jim

 

Sample assertion:

 

<samlp:AuthnRequest 

xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 

xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" 

ID="_342437431d6735a16338b6196769f4a59dc863f659" 

Version="2.0" IssueInstant="2011-08-25T16:13:16Z" 

Destination="https://redmatter-developer-edition.my.salesforce.com/idp/endpoint/HttpRedirect

AssertionConsumerServiceURL="https://saml.redmatter.com:8081/simplesaml/module.php/saml/sp/saml2-acs.php/natterbox-cti

ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"> 

<saml:Issuer>

https://saml.redmatter.com:8081/simplesaml/module.php/saml/sp/metadata.php/natterbox-cti

</saml:Issuer>

<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" AllowCreate="true"/></samlp:AuthnRequest>

 

Response:


<samlp:Response 

xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" 

Destination="https://saml.redmatter.com:8081/simplesaml/module.php/saml/sp/saml2-acs.php/natterbox-cti

ID="_1cc637c784edefc59018ea836b083b051314288794986"

InResponseTo="_342437431d6735a16338b6196769f4a59dc863f659" 

IssueInstant="2011-08-25T16:13:14.986Z" 

Version="2.0"> 

<saml:Issuer  

xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"  

Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"> 

https://redmatter-developer-edition.my.salesforce.com 

</saml:Issuer> 

<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">     

<ds:CanonicalizationMethod  

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"      

Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>     

<ds:SignatureMethod

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"      

Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>     

<ds:Reference

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"      

URI="#_1cc637c784edefc59018ea836b083b051314288794986">       

<ds:Transforms

xmlns:ds="http://www.w3.org/2000/09/xmldsig#">         

<ds:Transform

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"          

Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>         

<ds:Transform

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"          

Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">           

<ec:InclusiveNamespaces

xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"            

PrefixList="ds saml samlp"/>

</ds:Transform>       

</ds:Transforms>       

<ds:DigestMethod

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"        

Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>       

<ds:DigestValue

xmlns:ds="http://www.w3.org/2000/09/xmldsig#">       

oW12edeSTb2dKXEiCQMOKCaTdG8=       

</ds:DigestValue>     

</ds:Reference>   

</ds:SignedInfo>   

<ds:SignatureValue

xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:SignatureValue>   

<ds:KeyInfo> 

<ds:X509Data>

<ds:X509Certificate>...</ds:X509Certificate>     

</ds:X509Data>

</ds:KeyInfo>

</ds:Signature>

<samlp:Status>

<samlp:StatusCode

Value="urn:oasis:names:tc:SAML:2.0:status:RequestDenied"/> 

</samlp:Status>

</samlp:Response>

 

  • August 26, 2011
  • Like
  • 0

Some CTI users are having problems with cached passwords. Those who have a problem have this in their log files:

 

02/07/2011 11:48:18: CCTIAppExchange::LaunchSaveUserParamsThread: Unable to get encryption code from OfflineCode servlet.  Could not encrypt password.

 

From the code, this appears to be an error returned after an HTTP transaction via COM, and this log line is in fact incorrect - it should read 'Could not decrypt password'. A cut and paste error from elsewhere in the code I think.

 

There seem to be some users who have this problem and some who do not. The service works fine for them in all other respects. The upshot is that they end up having to reenter their password each time, as the un-decrypted password is placed in the password field in the login form.

 

Has anyone else come across this?

  • February 07, 2011
  • Like
  • 0

I am doing a new ground up CTI integration with the Natterbox telephony platform, and it's already working well.

 

I have a problem however with screen popping - if the phone rings and there is a matching record, and the user is working on a different page, then the changes are lost when the screen pop pops. This is causing us customer stress. We would like the system to work as follows:

 

phone rings: the CTI adapter UI is updated with the relevant data in the status bar (Eg name of caller)

user answers: the screen pops.

 

I can't see how to decouple the UI update with the screen pop. It all appears to happen in the underlying COM object. Or rather: it seems that the screen pop is triggered by the COM object but I could switch off the UI update ... but unfortunately that's the wrong way round for me.

 

Any comments or alternative suggestions are welcomed - this is quite a major issue for us currently.

  • February 03, 2011
  • Like
  • 0