I have a separate registration and login system set up. I am building an app with omniauth2 with rails 6 to let users schedule tweets to post. I am using omniauth2 so users can authorize the application to access their accounts
I want to get the users username, and profile picture from the omniauth2 data, but it is not showing up as anything when the user authorizes, I will post the relevant routes, controller, and views code
nil shows up in the database for the categories i want to display
console output
irb(main):002:0> User.last.twitter_accounts
id: 6,
user_id: 7,
name: nil,
username: nil,
image: nil,
token: "[FILTERED]",
secret: "[FILTERED]",
created_at: Mon, 06 Dec 2021 01:56:09.804716000 UTC +00:00,
updated_at: Mon, 06 Dec 2021 01:56:09.804716000 UTC +00:00
routes file
Rails.application.routes.draw do
get "about", to: "about#index", as: :about
get "password", to: "passwords#edit", as: :edit_password
patch "password", to: "passwords#update"
get "sign_up", to: "registrations#new"
post "sign_up", to: "registrations#create"
get "sign_in", to: "sessions#new"
post "sign_in", to: "sessions#create"
delete "logout", to: "sessions#destroy"
get "password/reset", to: "password_resets#new"
post "password/reset", to: "password_resets#create"
get "password/reset/edit", to: "password_resets#edit"
post "password/reset/edit", to: "password_resets#update"
get "/auth/twitter/callback", to: "omniauth_callbacks#twitter"
resources :twitter_accounts
root to: "main#index"
end
controller file
class OmniauthCallbacksController < ApplicationController
def twitter
twitter_account = Current.user.twitter_accounts.where(username: auth.info.nickname).first_or_initialize
twitter_account.update(
name: auth.info.name,
image: auth.info.image,
token: auth.credentials.token,
secret: auth.credentials.secret,
)
redirect_to twitter_accounts_path, notice: "Twitter account was successfully connected"
end
def auth
request.env["omniauth.auth"]
end
end
views file
```Twitter Account
<% @twitter_accounts.each do |twitter_account| %>