Good question, a commonly encountered problem - I don't have an all encompassing solution readily available (for this I'd actually suggest you ask the same question in Atlassian's own Q&A site Answers, which sees significantly more traffic regarding their products than the Stack Exchange network, albeit both are viable approaches of course).
However, I want to bring the recently released JIRA Issue Collector plugin to your attention, which addresses this use case specifically:
The issue collector plugin makes creating issues easy. If you are
developing a web-application and want your users to raise bugs in JIRA
the issue collector will make this a very painless process.
Instead of having to navigate to JIRA to raise bugs users will be able
to raise issues directly from within your web-application!
Users will then see a trigger they can click to raise bugs and will
get a form directly in your webapp to provide more details. They can
do so anonymously or if they are already logged in in the JIRA
instance where the feedback will be created than their login
credentials can be used. [emphasis mine]
See Easy issue creation for external reporters: the JIRA Issue Collector plugin beta for an illustrated introduction of this plugin's functionality.
In addition you might want to check Andy Brook's answer to the related question JIRA User License Count - need user license for all our end users?, which suggests to use the JIRA email interface to create non interactive users eventually; be advised though, that the latter isn't yet available for Atlassian's new OnDemand platform, causing much grieve amongst existing customers accordingly, see Support issue creation from email on the OnDemand platform (JST-5649).