Creating an API key (many to many mapping), how would I go about it

17 views
Skip to first unread message

Beau

unread,
May 7, 2012, 8:05:58 AM5/7/12
to rubyonra...@googlegroups.com
Hey guys. 

I'm still a super rails noob, and trying to figure this out in relation to learning how to write controllers/models and where stuff should go.

Basically I have my models set up with a many-to-many mapping of API keys to users. There's three models here, users, api_keys_users, and api_keys. I've got a view/controller setup for the users. But have avoided doing it for the api_keys and api_keys_users tables. Manually I can create a API key and map it to a user using SQL but now I want to set it up for generation via the view.

However I have no idea where the logic should go. Basically I want a "generate new api key" button on the show users page. This would create a unique entry in the api_key table. Then create an entry in the api_keys_users table with the id of the user and the id of the new key.

Any pointers?

-Beau

Colin Law

unread,
May 7, 2012, 8:21:41 AM5/7/12
to rubyonra...@googlegroups.com
On 7 May 2012 13:05, Beau <beau...@gmail.com> wrote:
> Hey guys.
>
> I'm still a super rails noob, and trying to figure this out in relation to
> learning how to write controllers/models and where stuff should go.

I suggest first working through some Rails tutorials.
railstutorial.org is good and is free to use online. Once you have
worked right through that, including doing all the exercises, then you
will be better placed to get going.

Colin

Kevin Bedell

unread,
May 7, 2012, 10:30:40 AM5/7/12
to rubyonra...@googlegroups.com
Here's a bit of information on building out an API using security and API keys.

http://stackoverflow.com/questions/10470509/building-an-api-as-a-service/10470584#10470584

I'd use 'devise' to manage api users with token auth enabled and have
the token be their api key.

I've done this before and it's not too bad once you've gotten devise
installed and configured correctly.

-Kevin
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rubyonrails-talk/-/bFQDLWvKSgcJ.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-ta...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.

beau trepp

unread,
May 9, 2012, 8:03:29 PM5/9/12
to rubyonra...@googlegroups.com

Ideally I'm viewing this as a fairly simple feature to add. Also I'm hoping this will help Mr solidify best practice for how to do things.

Where I'm getting confused is what should be creating the user/key entries. I could make this part of the options for creating a key( aka passing in a user-id) and failing if it doesn't exist etc. Then creating the mapping on after-save for the key. Or I could implement this as its own controller, and put some of the logic in there.

Colin Law

unread,
May 10, 2012, 3:33:54 AM5/10/12
to rubyonra...@googlegroups.com
On 10 May 2012 01:03, beau trepp <beau...@gmail.com> wrote:
> Ideally I'm viewing this as a fairly simple feature to add. Also I'm hoping
> this will help Mr solidify best practice for how to do things.
>
> Where I'm getting confused is what should be creating the user/key entries.
> I could make this part of the options for creating a key( aka passing in a
> user-id) and failing if it doesn't exist etc. Then creating the mapping on
> after-save for the key. Or I could implement this as its own controller, and
> put some of the logic in there.

I would use the create action of the keys controller, since that is
what it is doing, if I understand correctly.

Colin
Reply all
Reply to author
Forward
0 new messages