Unable to update user password via API?
Hey folks,
It appears that you can't update user passwords via the API (presumably because you can't "get" the password, and you can only update fields that are "gettable"). quick question:
1) is this true
2) any workarounds that don't involve sending the user to the convio profile page (ie can you send someone to the change password page without them landing on the convio profile after they modify their password)
All input is welcome.
Comments
-
I'll let others address 1) and other workarounds, but if you have to send people to the change password page, you could presumably use the NEXTURL parameter to send them to another landing page besides the Convio profile page, right?
0 -
Sally Heaven:
I'll let others address 1) and other workarounds, but if you have to send people to the change password page, you could presumably use the NEXTURL parameter to send them to another landing page besides the Convio profile page, right?
Hey Sally,
I did indeed presume that very thing. Turns out though, that the NEXTURL parameter doesn't work on the change password form unless I'm not using it correctly, which is a distinct possibility -- i'm using this:
.convio.net/site/ConsProfileUser?op.dispConsPasswd=&NEXTURL=
In all cases I am returned to the ConsProfileUser page when i submit the change password page.
0 -
TJGriffin :
Hey Sally,
I did indeed presume that very thing. Turns out though, that the NEXTURL parameter doesn't work on the change password form unless I'm not using it correctly, which is a distinct possibility -- i'm using this:
.convio.net/site/ConsProfileUser?op.dispConsPasswd=&NEXTURL=
In all cases I am returned to the ConsProfileUser page when i submit the change password page.
Hm, I think that the syntax is ?NEXTURL= instead of &NEXTURL=, but I just tested it and was also returned to the ConsProfile page instead of the NEXTURL that I specified.
I'll have to defer to someone who knows more than I, sorry!
0 -
Sally Heaven:
Hm, I think that the syntax is ?NEXTURL= instead of &NEXTURL=, but I just tested it and was also returned to the ConsProfile page instead of the NEXTURL that I specified.
I'll have to defer to someone who knows more than I, sorry!
Hey Sally,
Thanks for checking into it...i'll ping you if there are other solutions!
0 -
Updating the password is specifically disallowed by the API for security reasons. It was determined that to set a new password value the existing password should also be required, just like when changing it on a web page. To do that, a new API method should be created instead of using the 'update' method. This new API method hasn't been added, yet.
0 -
TJ, did you ever get this figured out? I'm a little confused about where the thread was left... and the last comment from Jeff. Users do have to enter in their old passwords... but I don't know much about the API so it's probably just that I don't understand.
We, too, are trying to avoid the user profile page, particularly because Convio does not allow us to change it.
We're using this page to have constituents create their profile: http://www.2harvest.org/site/PageServer?pagename=myprofile
But in order to give them the option to change their password, the link will send them to the user profile page by Convio - when I want to send them to a page I dictate.
Any help/further clarification would be great!
0 -
One more thing: I figured out one workaround. If you're an advanced admin, you should be able to access Customize Standard Pages > Customize Constituent Profile Page (User Update) under "Setup."
If you put a redirect link in the "Customize Page Header" section, you can send them to whatever page you want... whenever they land on the user profile page. So for us to redirect back to our homepage, I entered <meta http-equiv="REFRESH" content="0;url=http://www.2harvest.org"></HEAD>
0 -
My workaround for this, which may be a bit much for some, is to:
1. never log people in via Convio
2. ignore what's in the password field in the constituent record,
3. and authenticate people via my own site and database,
4. and then allow access to member-only pages on Convio after logging them in with the SSO (Single Sign-On) API.
Prior to this, I had a member database and login system already set up. I understand the security reasons, but hey, if you're going to have an API to access constituent information and control their accounts, then you'll have to "trust" the programmers with access to the most important parts of a user/password login scheme.
Perhaps Convio could allow only the password hash to be set, eliminating the cleartext password being sent through the API.
0 -
Hi all,
There is a new method, which will be documented fully as early as next week that will allow this to happen. Stay tuned.
0 -
conviojames :
Hi all,
There is a new method, which will be documented fully as early as next week that will allow this to happen. Stay tuned.
Hey James,
Did this document ever get produced?
0 -
So... looks to me like NEXTURL sort of does work, but in a really cracked way. First, you have to be logged in to get to the change password form in the first place. Here's the process I went though:
1. Logged in
2. When to my User Profile
3. Clicked Change Password
4. Inserted &NEXTURL=http://www.google.com/ into the URL string and hit enter
5. "changed" my password using the same password in current, new and confirm fields and the same hint I already had... and hit Save.
6. I was dropped a back on the user profile page in read-only mode and there was a Done button at the bottom
7. When I click Done................. I went to www.google.com.
crazy.
Either way, since you have to already be logged in to update your password, that right there is probably enough to make password updates via some sort of remote method (either Convio API or just some sort of form scrap n' post) hard if not impossible. The only way around that I can think of might be to create a Registered User-Only PageBuilder page to host the web app... but that isn't always possible.
--> Doesn't look like the Open site has any mention of a new method, is there any ETA on this? It'd be very interested in seeing this as well.0 -
TJGriffin :
Hey James,
Did this document ever get produced?
We've developed a new system of documentation that generates doc's from various inputs from developers and writers, which should help keep information up to date. I expect it to be ready to publish very soon, but I don't know of a committed date. My guess is that the focus on building this, which will replace the current documentation, is why the existing published doc's haven't been updated recently. Here is some information about this API method that I copied from an internal draft of the new system:
changePassword
Used to change a user's password in the Convio constituent database.
Client ServletServer ServletHTTP Methods SupportedRequires AuthenticationTrusted IP Address Only CRConsAPISRConsAPIPOST method only.Yes.Server. Client API Syntax
https://secure2.convio.net/organization/site/CRConsAPI?method=changePassword & api_key =value & v =value & old_password =value & user_password =value & retype_password =value & reminder_hint =value &sso_auth_token=valueServer API Syntax
https://secure2.convio.net/organization/site/SRConsAPI?method=changePassword & api_key =value & v =value & login_name =value & login_password =value & old_password =value & user_password =value & retype_password =value & reminder_hint =value-->Client API Parameters
- method
-
Required. The name of this method. Must be "changePassword"
- api_key
-
Required. An arbitrary value that must be passed when invoking the Convio Client and Server APIs. The value passed by the caller must match the value in the CONVIO_API_KEY site configuration parameter, which is unique for each Convio site.
Type xsd:string.
- response_format
-
Optional. Used to specify either XML or JSON formatting for the response.
Type xsd:string.
Default is xml.
Options are:- xml
- json
- v
-
Required. API version to invoke. Must be "1.0".
Type xsd:string.
- suppress_response_codes
-
Optional. Specifies that all responses will be returned with an HTTP 200 OK status code - even errors. This parameter exists to accommodate Flash and JavaScript applications running in browsers that intercept all non-200 responses. If used, it's then the job of the client to determine error states by parsing the response body.
Type xsd:boolean.
Default is false.
- redirect
-
Optional. Specifies a URL that the method should redirect to upon completion.
Type xsd:anyURI.
- success_redirect
-
Optional. Specifies a URL that the method should redirect to upon successful completion.
Type xsd:anyURI.
- error_redirect
-
Optional. Specifies a URL that the method should redirect to in the event of an error.
Type xsd:anyURI.
- sign_redirects
-
Optional. Specifies that redirect URLs should be signed with a timestamp and a hash of the query string arguments and a secret key.
Type xsd:boolean.
Default is false.
- old_password
-
Required. The user's existing password.
Type xsd:string.
- user_password
-
Required. The new password.
Type xsd:string.
- retype_password
-
Required. The new password re-typed by the user to confirm.
Type xsd:string.
- reminder_hint
-
Required. Password hint entered by the user.
Type xsd:string.
- sso_auth_token
-
Required. This method must be called with a valid session authentication token returned by login, authenticateUser, getSingleSignOnToken, or by an embedded ] session tag in a Convio web page.
-->Server API Parameters
- method
-
Required. The name of this method. Must be "changePassword"
- api_key
-
Required. An arbitrary value that must be passed when invoking the Convio Client and Server APIs. The value passed by the caller must match the value in the CONVIO_API_KEY site configuration parameter, which is unique for each Convio site.
Type xsd:string. - response_format
-
Optional. Used to specify either XML or JSON formatting for the response.
Type xsd:string. Default is xml. Options are: xml json - v
-
Required. API version to invoke. Must be "1.0".
Type xsd:string. - suppress_response_codes
-
Optional. Specifies that all responses will be returned with an HTTP 200 OK status code - even errors. This parameter exists to accommodate Flash and JavaScript applications running in browsers that intercept all non-200 responses. If used, it's then the job of the client to determine error states by parsing the response body.
Type xsd:boolean. Default is false. - login_name
-
Required. The user_name of the Convio administrative account that was created for API access. Note that this must be a special administrator account used just for API access.
Type xsd:string. - login_password
-
Required. The password of the Convio administrative account that was created for API access. Note that this must be a special administrator account used just for API access.
Type xsd:string. - old_password
-
Required. The user's existing password.
Type xsd:string. - user_password
-
Required. The new password.
Type xsd:string. - retype_password
-
Required. The new password re-typed by the user to confirm.
Type xsd:string. - reminder_hint
-
Required. Password hint entered by the user.
Type xsd:string.
-->Response
The HTTP status code of 200 usually indicates a successful invocation. If an error occurs during processing, HTTP status code 403 is usually returned, and the structure of the response is an errorResponse object. It contains two elements: a code element and a message element. The code element contains a number corresponding to the error conditions documented on the error code list page. The message element contains a text message that may provide further detail about the error. The response is formatted as XML by default, but the response_format input parameter can be used to specify either XML or JSON formatting.
XML response
JSON response
<updateConsResponse xsi:schemaLocation="http://convio.com/crm/v1.0 http://service.convio.net/xmlschema/crm.public.v1.xsd" xmlns="http://convio.com/crm/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cons_id>1000121</cons_id>
<message>User updated.</message>
</updateConsResponse>
{"updateConsResponse":{"message":"User updated.","cons_id":"1000121"}}0 -
JeffMills :
We've developed a new system of documentation that generates doc's from various inputs from developers and writers, which should help keep information up to date. I expect it to be ready to publish very soon, but I don't know of a committed date. My guess is that the focus on building this, which will replace the current documentation, is why the existing published doc's haven't been updated recently. Here is some information about this API method that I copied from an internal draft of the new system:
changePassword
Used to change a user's password in the Convio constituent database.
Client ServletServer ServletHTTP Methods SupportedRequires AuthenticationTrusted IP Address Only CRConsAPISRConsAPIPOST method only.Yes.Server. Client API Syntax
https://secure2.convio.net/organization/site/CRConsAPI?method=changePassword & api_key =value & v =value & old_password =value & user_password =value & retype_password =value & reminder_hint =value &sso_auth_token=valueServer API Syntax
https://secure2.convio.net/organization/site/SRConsAPI?method=changePassword & api_key =value & v =value & login_name =value & login_password =value & old_password =value & user_password =value & retype_password =value & reminder_hint =value-->Client API Parameters
- method
-
Required. The name of this method. Must be "changePassword"
- api_key
-
Required. An arbitrary value that must be passed when invoking the Convio Client and Server APIs. The value passed by the caller must match the value in the CONVIO_API_KEY site configuration parameter, which is unique for each Convio site.
Type xsd:string.
- response_format
-
Optional. Used to specify either XML or JSON formatting for the response.
Type xsd:string.
Default is xml.
Options are:- xml
- json
- v
-
Required. API version to invoke. Must be "1.0".
Type xsd:string.
- suppress_response_codes
-
Optional. Specifies that all responses will be returned with an HTTP 200 OK status code - even errors. This parameter exists to accommodate Flash and JavaScript applications running in browsers that intercept all non-200 responses. If used, it's then the job of the client to determine error states by parsing the response body.
Type xsd:boolean.
Default is false.
- redirect
-
Optional. Specifies a URL that the method should redirect to upon completion.
Type xsd:anyURI.
- success_redirect
-
Optional. Specifies a URL that the method should redirect to upon successful completion.
Type xsd:anyURI.
- error_redirect
-
Optional. Specifies a URL that the method should redirect to in the event of an error.
Type xsd:anyURI.
- sign_redirects
-
Optional. Specifies that redirect URLs should be signed with a timestamp and a hash of the query string arguments and a secret key.
Type xsd:boolean.
Default is false.
- old_password
-
Required. The user's existing password.
Type xsd:string.
- user_password
-
Required. The new password.
Type xsd:string.
- retype_password
-
Required. The new password re-typed by the user to confirm.
Type xsd:string.
- reminder_hint
-
Required. Password hint entered by the user.
Type xsd:string.
- sso_auth_token
-
Required. This method must be called with a valid session authentication token returned by login, authenticateUser, getSingleSignOnToken, or by an embedded ] session tag in a Convio web page.
-->Server API Parameters
- method
-
Required. The name of this method. Must be "changePassword"
- api_key
-
Required. An arbitrary value that must be passed when invoking the Convio Client and Server APIs. The value passed by the caller must match the value in the CONVIO_API_KEY site configuration parameter, which is unique for each Convio site.
Type xsd:string. - response_format
-
Optional. Used to specify either XML or JSON formatting for the response.
Type xsd:string. Default is xml. Options are: xml json - v
-
Required. API version to invoke. Must be "1.0".
Type xsd:string. - suppress_response_codes
-
Optional. Specifies that all responses will be returned with an HTTP 200 OK status code - even errors. This parameter exists to accommodate Flash and JavaScript applications running in browsers that intercept all non-200 responses. If used, it's then the job of the client to determine error states by parsing the response body.
Type xsd:boolean. Default is false. - login_name
-
Required. The user_name of the Convio administrative account that was created for API access. Note that this must be a special administrator account used just for API access.
Type xsd:string. - login_password
-
Required. The password of the Convio administrative account that was created for API access. Note that this must be a special administrator account used just for API access.
Type xsd:string. - old_password
-
Required. The user's existing password.
Type xsd:string. - user_password
-
Required. The new password.
Type xsd:string. - retype_password
-
Required. The new password re-typed by the user to confirm.
Type xsd:string. - reminder_hint
-
Required. Password hint entered by the user.
Type xsd:string.
-->Response
The HTTP status code of 200 usually indicates a successful invocation. If an error occurs during processing, HTTP status code 403 is usually returned, and the structure of the response is an errorResponse object. It contains two elements: a code element and a message element. The code element contains a number corresponding to the error conditions documented on the error code list page. The message element contains a text message that may provide further detail about the error. The response is formatted as XML by default, but the response_format input parameter can be used to specify either XML or JSON formatting.
XML response
JSON response
<updateConsResponse xsi:schemaLocation="http://convio.com/crm/v1.0 http://service.convio.net/xmlschema/crm.public.v1.xsd" xmlns="http://convio.com/crm/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<cons_id>1000121</cons_id>
<message>User updated.</message>
</updateConsResponse>
{"updateConsResponse":{"message":"User updated.","cons_id":"1000121"}}Some formatting got mangled during the copy and paste but I hope you can find the information you need until the new doc's are published.
0
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 3 Blackbaud Staff Discussions
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board